[英]getting data from two different tables that have only one common column in sql server
我的表如下:
请给我一个 SQL 查询以获得预期的结果集。
Table1
A B C D E
1 2 C1 D1 E1
2 2 C2 D2 E2
3 2 C3 D3 E3
Table2
A B F G H
1 2 F1 G1 H1
2 2 F2 G2 H2
3 5 F3 G3 H3
4 6 F4 G4 H4
预期结果 :
B C D E F G H
2 C1 D1 E1 NULL NULL NULL
2 C2 D2 E2 NULL NULL NULL
2 C3 D3 E3 NULL NULL NULL
2 NULL NULL NULL F1 G1 H1
2 NULL NULL NULL F2 G2 H2
您需要UNION来组合两个或多个查询的结果,如下所示。 由于您在一个表中有C, D, E
而它们在另一个表中不存在,因此您需要将此列添加为NULL
值,与F, G, H
:
SELECT *
FROM (
SELECT B,
C,
D,
E,
NULL F,
NULL G,
NULL H
FROM Table1 t1
UNION
SELECT B,
NULL C,
NULL D,
NULL E,
F,
G,
H
FROM Table2 t2
) t
WHERE B = 2
输出:
B C D E F G H
2 C1 D1 E1 NULL NULL NULL
2 C2 D2 E2 NULL NULL NULL
2 C3 D3 E3 NULL NULL NULL
2 NULL NULL NULL F1 G1 H1
2 NULL NULL NULL F2 G2 H2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.