sf
Nybegynder
25. marts 2008 - 12:42
Der er
12 kommentarer og 1 løsning
join 2 tabeller med kun et resultat fra første tabel
jeg har disse 2 tabeller: a: id, navn 1, test1 2, test2 3, test3 b: id,aID,navn 1,1,testB1 2,2,testB2 3,2,testB3 det jeg faktisk bare vil er at vide om der er ongle resultater i tabel b der passer til a på aID. så vil gerne have dette resultat: id, navn 1, test1,ja 2, test2,ja 3, test3,nej men jeg får dette: id, navn 1, test1,ja 2, test2,ja 2,test2,ja 3, test3,nej
Annonceindlæg fra IBM
25. marts 2008 - 12:55
#1
Må man se den kode du har brugt, så er det lidt lettere lige at rette til det du allerede har dannet.
sf
Nybegynder
25. marts 2008 - 13:01
#2
SELECT top 100 a.id,a.navn, case if b.id =0 then 'block' else 'none' end FROM a LEFT JOIN b ON (a.ID = b.aib) ORDER BY a.navn
25. marts 2008 - 13:10
#3
Hvad hvis du laver følgende SELECT DISTINCT a.id, a.navn //den kode du sætter dit block/none med FROM a INNER JOIN b ON (a.ID = b.aid) ORDER BY a.navn Altså anvender distinct på dit id og et inner join i stedet for left join?
25. marts 2008 - 13:11
#4
orv jeg overså lige at du ville have 3'eren med - så virker det ovenstående ikke.
25. marts 2008 - 13:12
#5
Så stadig en Distinct, men tilbage til dit LEFT join - altså: SELECT DISTINCT a.id, a.navn //den kode du sætter dit block/none med FROM a LEFT JOIN b ON (a.ID = b.aid) ORDER BY a.navn
sf
Nybegynder
25. marts 2008 - 13:52
#6
den fortæller mig jeg ikke kan bruge DISTINCT pga. jeg henter nogle tekst felter
25. marts 2008 - 14:02
#7
Virker: SELECT a.id,a.navn,EXISTS(SELECT * FROM b WHERE b.aid=a.id) FROM a ?
sf
Nybegynder
25. marts 2008 - 14:28
#8
kan kun få EXISTS til at ligge under where
25. marts 2008 - 14:36
#9
hvad med: SELECT a.id,a.navn,(SELECT COUNT(*)>0 FROM b WHERE b.aid=a.id) FROM a
25. marts 2008 - 14:50
#10
SELECT top 100 a.id,a.navn, case if b.id =0 then 'block' else 'none' end FROM a LEFT JOIN b ON (a.ID = b.aib) group by a.id,a.navn ORDER BY a.navn medmindre man ikke kan pga. din case if.. det har jeg ikke testet.
sf
Nybegynder
25. marts 2008 - 15:05
#11
tak arne fik lavet den om til: SELECT a.id,a.navn,(SELECT DISTINCT(*)>0 FROM b WHERE b.aid=a.id) FROM a og så køre det.. lav lige svar :)
sf
Nybegynder
25. marts 2008 - 15:06
#12
tak for hjælpen alle
25. marts 2008 - 15:19
#13
svar
Computerworld tilbyder specialiserede kurser i database-management