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 tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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