webForumDet fria alternativet

Hitta poster som inte motsvarar en kombination

Databaser & SQL

3 svar · 372 visningar · startad av Johnsen

Medlem sedan juli 2000836 inlägg
Frågan#1

Har en tabell som ser ut så här:

ID | AAA | BBB 
---------------
A  |  100|  200
B  |  100|  300
C  |  150|  250
D  |  100|  250
E  |  150|  350
F  |  250|  400
G  |    0|    0

Jag vill hitta de poster där kombinationen AAA och BBB inte är 100/200 eller 100/300 eller 150/250.
Dvs följande resultat:

ID | AAA | BBB 
---------------
D  |  100|  250
E  |  150|  350
F  |  250|  400
G  |    0|    0
SELECT * FROM tabell WHERE NOT...
Medlem sedan dec. 19996 721 inlägg
#2

SELECT * FROM tabell WHERE NOT (AAA=100 AND BBB=200 OR AAA..... )

Medlem sedan dec. 200012 464 inlägg
#3
select <kolumner>
from t
where (aaa <> 100 
   or bbb <> 200)
   and (aaa <> 100 
   or bbb <> 300)
    and (aaa <> 150
   or bbb <> 250)

red: bättre så

Medlem sedan juli 2000836 inlägg
#4

Tack så mycket för båda era svar. Jag började söla med parenteser, men fick inte riktigt till det...

250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)