如何加入表a
和表b
并获取每个表的记录?不是真正的加入...不确定这是什么。
因此,如果a
中有3条记录,b
中有5条记录,那么我需要8条记录。
在a
的记录中,所有b
字段都可以为空。在b
的记录中,所有a
字段都可以为空。
编辑:我的表格有不同的字段。
Error Code: 1222. The used SELECT statements have a different number of columns
答案 0 :(得分:2)
与提到的其他人一样,你需要一个工会
SELECT intColumn, varcharColumn, intColumn FROM a
UNION
SELECT intColumn, varcharColumn, 0 FROM b
但您必须具有相同数量的列,并且它们还必须具有相似的数据类型。
Here's关于它的好教程
此外,如果您希望列不在两个表中,则可以填充空值或常量。
答案 1 :(得分:1)
您需要UNION
:
SELECT something FROM a
UNION
SELECT something FROM b
答案 2 :(得分:1)
试试这个
SELECT * FROM a
LEFT JOIN b ON a.id1 = b.id2
UNION
SELECT * FROM a
RIGHT JOIN b ON a.id1 = b.id2
请确保A和B具有不同的ID
您还可以使用id
以外的其他字段,这两个字段在两个表中不相同
编辑:更新小提琴