看板 Database 關於我們 聯絡資訊
※ 引述《silver8250 ((阿信))》之銘言: : 各位先進,小弟對於 JOIN 有個小小的問題 : 平台:M$ SQL 2K : 如果說我的 table A and table B 如下: : table A : PK->ID : ID name money : --------------- : AA abc 10 : BB bcd 20 : table B : PK -> ID : ID b_money : ------------ : AA 30 : CC 20 : 我希望的結果是: : ID name money b_money : -------------------------- : AA abc 10 30 : BB bcd 20 NULL : CC NULL NULL 20 : 我知道可以用 A FULL JOIN B ON (A.ID = B.ID) : 可是出來的結果 ID 為 CC 的那筆資料會不見?? 乍看之下很困惑,怎麼可能會不見…實際跑一下… declare @a table(id char(2),[name] char(4),[money]int) declare @b table(id char(2),[b_money]int) insert @a values('aa','abc',20) insert @a values('bb','bca',30) insert @b values('aa',40) insert @b values('cc',50) select * from @a a full join @b b on a.id=b.id 結果 aa abc 20 aa 40 bb bca 30 NULL NULL NULL NULL NULL cc 50 哦…是cc這個id沒對到嗎?是的話,這樣就搞定了吧 select isnull(a.id,b.id)theid,name,money,b_money from @a a full join @b b on a.id=b.id : 是因為 ID 在 table A and table B 為 PK 的關係嗎?? : 我要怎樣才能取出我想要的結果?? : 感謝各位先進的幫忙~~ 可能小弟思考上有盲點!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.172.157
silver8250:感謝您熱心的回答!! 05/06 16:35