Jag hade spontant försökt med något sånt här:
SELECT A.ID FROM A LEFT OUTER JOIN B ON A.ID = B.other_id AND b.other_ID IS NULL
Edit: Vad betyder spontalt? :o
Mvh
7 svar · 334 visningar · startad av mrblonde
veckans sql-fråga:
om jag har en tabell A med bl.a. en kolumn "id" och en annan tabell B med bl.a. en kolumn "other_id" där other_id är en referens till id i andra tabellen.
hur skriver jag en query "Ge mig alla id som inte har någon referens till sig från tabell B" utan att använda sub_queries?
motsvarande med subquery:
SELECT
A.id
FROM
A
WHERE
A.id NOT IN ( SELECT other_id FROM B )
Jag hade spontant försökt med något sånt här:
SELECT A.ID FROM A LEFT OUTER JOIN B ON A.ID = B.other_id AND b.other_ID IS NULL
Edit: Vad betyder spontalt? :o
Mvh
select a.id from a except select other_id from b
Det här svaret är till @nders
nej det gav ju inte något bra resultat, fick alla raderna i tabell A tillbaka.
A tabellen
aid
1
2
3
4
5
B tabellen
bid, baid
10 1
20 2
40 4
Så svaret på queryn skall bli aid= 3 och 5
Var så sabla länge sedan jag skrev SQL... argh!
Lars, det fungerade inte heller, det är en subquery, det är en gammal MySQL db som jag frågar om.
SELECT A.aID FROM A left outer JOIN B ON A.aID = B.baid WHERE b.baid IS NULL
Fungerade, tack för er eminenta snabba hjälp!