Negatieve selectie query

Status
Niet open voor verdere reacties.

maniac2003

Terugkerende gebruiker
Lid geworden
14 dec 2006
Berichten
3.128
Hoi allemaal,

Van de volgende opdracht moet ik een negatieve selectie query maken, maar momenteel zit ik een beetje vast.

"een bewerking is altijd gemaakt van een origineel, en dus nooit van een andere bewerking"

Tot nu toe kwam ik tot dit:
SELECT S.stuknr, S.titel, S.stuknrOrigineel
FROM Stuk S
WHERE stuknrOrigineel IS NOT NULL

Zouden jullie me 'op weg' kunnen helpen ?
De SQL files heb ik bijgevoegd.

Alvast bedankt.
 

Bijlagen

"een bewerking is altijd gemaakt van een origineel, en dus nooit van een andere bewerking"

Oplossing:

Zoek eerst de verzameling originelen, dit zijn de stukken waarbij stuknrOrigineel niet is ingevuld.
De query hiervoor is :

select stuknr from Stuk WHERE stuknrOrigineel is null

Een bewerking van een origineel stuk heeft in stuknrOrigineel een stuknummer dat voorkomt in de verzameling van originele stukken, dus :

select *
from Stuk
where stuknrOrigineel in ( select stuknr from Stuk WHERE stuknrOrigineel is null)


Dit kan beter, ik ga de tabel Stuk koppelen aan zichzelf, hiervoor geef ik tijdelijk een andere naam aan de tabel ( alias ):
tabel stuk als origineel : stuknrOrigineel moet null zijn.
tabel stuk als bewerking : stuknrOrigineel moet een origineel stuknummer zijn

select bewerking.*
from Stuk bewerking , Stuk origineel
where bewerking.stuknrOrigineel = origineel.stuknr
and origineel.stuknrOrigineel is null
 
Laatst bewerkt:
Bedankt voor je reactie, ook je uitleg was duidelijk.
Heb het uiteraard gecheckt en het klopt helemaal, als ik nog meer problemen kom laat ik het wel weten.

:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan