我有两个表,其中包含与不同项目相关的值,如下所示:
表格1:
ItemID | val1 | val2 | val3 |
ABC 5 1 2.5
DEF 5 5 3.8
GHI 2 1 4.9
MNO 8 2 1.1
PQR 1 8 2.4
Run Code Online (Sandbox Code Playgroud)
表2:
ItemID | val4 | val5
ABC hi 4
DEF dude 9
GHI word3 0
JKL balls 1
MNO day 5
Run Code Online (Sandbox Code Playgroud)
我想加入表格,以便它们是这样的:
ItemID | val1 | val2 | val3 | val4 | val5
ABC 5 1 2.5 hi 4
DEF 5 5 3.8 dude 9
GHI 2 1 4.9 word3 0
JKL 0 0 0 balls 1
MNO 8 2 1.1 day 5
PQR 1 8 2.4 0 0
Run Code Online (Sandbox Code Playgroud)
如果一个表没有该项,那么它只是默认为零并且无论如何都要添加该列.这可能在SQL Server中吗?
您可以使用COALESCE进行完全外连接:
SELECT COALESCE(TABLE1.ITEMID, TABLE2.ITEMID), COALESCE(VAL1, 0), COALESCE(VAL2, 0),
COALESCE(VAL3, 0), COALESCE(VAL4, 0), COALESCE(VAL5, 0)
FROM TABLE1 FULL OUTER JOIN TABLE2
ON TABLE1.ITEMID = TABLE2.ITEMID
Run Code Online (Sandbox Code Playgroud)
完全外连接允许您从两个表中获取数据,即使第一个表中没有数据也是如此.
| 归档时间: |
|
| 查看次数: |
3439 次 |
| 最近记录: |