我有这两个表(每个元素都在列中):
TABLE A:
ID 1 2 3 4 5
TD 20 10 0 1 7
TABLE B:
ID 2 3
TD 40 30
我想做一个LEFT JOIN来获取一个FINAL_TABLE,其中我有所有的ID表A和表B的一个与A的共同点。我也希望如果表A中有ID而不是表B(例如ID 1,4,5),在FINAL_TABLE中我将在该ID处显示NULL。 FINAL_TABLE应该是(见列中的所有内容):
ID 1 2 3 4 5
TDA 20 10 0 1 7
TDB NULL 40 30 NULL NULL
我怎样才能做到这一点?
答案 0 :(得分:1)
不太确定这是否是您要求的,但也许您只想将一个结果添加到另一个?
select 'TDA', col1, col2, col3, col4, col5 from tableA
UNION ALL
select 'TDB', null, col1, col2, null, null from tableB
答案 1 :(得分:0)
我认为这应该有效。你能试试一次。
INSERT INTO FINAL_TABLE
(
ID,
tdA,
tdB
)
SELECT
A.ID,
A.td,
B.td
FROM
TABLEA
LEFT OUTER JOIN TABLEB ON (A.ID=B.ID)
GROUP BY
A.ID,
A.td,
B.td
;