推 silver8250:感謝您熱心的回答!! 05/06 16:35
※ 引述《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