如何连接2个具有所有相同列标题但只有一个?
的表其他3列都是相同的,然后一个表有列标题" 1月"另一个表格有列标题"二月"
所以我想在新表中总共有5列
即使存在重复数据,我也希望其中包含所有数据。在我使用工会之前,我现在不能这样做,因为并非我的所有标题都是相同的。
谢谢!
答案 0 :(得分:0)
您可以使用UNION并重命名其中一列:
SELECT id, name, age, xxx FROM table1
UNION
SELECT id, name, age, yyy AS xxx FROM table2
如果您添加更多信息,我可以详细说明我的答案
答案 1 :(得分:0)
假设只考虑三列的唯一性,加入它们
SELECT tab1.col1,
tab1.col2,
tab1.col3,
tab1.january,
tab2.february
FROM tab1,
tab2
WHERE tab1.col1 = tab2.col1
AND tab1.col2 = tab2.col2
AND tab1.col3 = tab2.col3
答案 2 :(得分:0)
这假设tblA中的所有行在tblB中都具有相应的行,反之亦然:
SELECT * FROM tblA INNER JOIN tblB USING (col1, col2, col3);
如果不是这种情况,并且取决于数据(如果tbl1
。january
可以有合法的空值,这将无法工作),您可以尝试类似(没有检查确定,可能需要用括号,亚选择等进行按摩...... ):
SELECT *
FROM tbl1
LEFT JOIN tbl2 USING (col1, col2, col3)
UNION ALL
SELECT * FROM tbl2 LEFT JOIN tbl1 USING (col1, col2, col3)
HAVING tbl1.`january` IS NULL
;