[SQL] query: exkludera vissa resultat (klurigt?)

Permalänk
Medlem

[SQL] query: exkludera vissa resultat (klurigt?)

Använder MySQL.
Förenklar problemet något:

Säg att jag har en tabell med 2 kolumner.
Båda är innehåller heltal utan restriktioner.

Jag vill plocka alla rader där kol2 har det bra värdet x.

värde y i kol 2 är dåligt, så dåligt att det infekterar värdet z i kol1 på samma rad.
Därför vill jag exkludera alla rader med det infekterade värdet i kol1.
Exempel: (x=0, y=1)

kol1 | kol2
1 | 0
2 | 0
5 | 0
4 | 2
5 | 1
6 | 2
1 | 1

queryn jag vill skriva skall då alltså enbart välja raden:

kol1 | kol2
2 | 0

Går detta att göra i en enda fråga?
Eller måste jag plocka alla med x i kol2, sen lista ut vilka z som finns i kol1 och skicka en "alla med x i kol2 och inte z i kol1"-fråga efteråt?

Permalänk

Jag har läst ditt inlägg säkert 10 gånger nu, men jag kan verkligen inte förstå vad du menar. Kan du förklara på något annat sätt?

Visa signatur

daytona 675 -08, iphone 4, samsung full hd, ps3 = svarta leksaker

Permalänk
Medlem

SELECT * FROM tabellen WHERE kol2 = 0 AND kol1 NOT IN (SELECT kol1 FROM tabellen WHERE kol2 = 1)

Visa signatur

OSIRIS GUITAR - youtube-kanal om elgitarrer, mixning och teknik i hemmastudio

Permalänk
Medlem

borde inte detta funka:

SELECT * FROM tabell WHERE kol2 = 0 AND NOT kol1 = 1