Uitsluiten in Query

Status
Niet open voor verdere reacties.

bertbierhuis

Nieuwe gebruiker
Lid geworden
19 jan 2011
Berichten
1
Hallo,

Ik wil een query maken van iedereen die ooit op donderdag ergens geweest is, maar diegene mag nooit op dinsdag zijn geweest.

Personen kunnen dus meerdere keren ergens zijn geweest.

Ik dacht iets van:

SELECT DISTINCT(persoonsNaam) FROM tabelnaam WHERE daggeweest='donderdag';

aangevuld met iets van : maar daggeweest mag nooit 'dinsdag' zijn geweest.

tabel:

ID | persoonsNaam | daggeweest
--------------------------------------------------------
1 | pietje | dinsdag
2 | truusje | woensdag
3 | pietje | donderdag
4 | truusje | donderdag
5 | keesje | donderdag
etc.

Alleen truusje en keesje voldoen aan de Query pietje niet, want die is ook eens op dinsdag geweest (de boef!).

Kan iemand me hiermee helpen?
 
In MS SQL zou dit wel eens kunnen
[SQL]SELECT DISTINCT(persoonsNaam)
FROM tabelnaam t1
WHERE NOT EXISTS
(SELECT *
FROM tabelnaam t2
WHERE t1.daggeweest = t2.daggeweest
AND daggeweest = 'dinsdag')
AND daggeweest = 'donderdag'[/SQL]
 
Je moet in je subquery de namen koppelen anders krijg je nooit resultaten als er ergens een rij is met 'dinsdag' erin.

[sql]
SELECT DISTINCT(persoonsNaam)
FROM tabelnaam t1
WHERE NOT EXISTS
(SELECT *
FROM tabelnaam t2
WHERE t1.persoonsNaam = t2.persoonsNaam
AND daggeweest = 'dinsdag')
AND daggeweest = 'donderdag'
[/sql]

Op deze manier zou het moeten werken volgensmij.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan