我用regno列连接两个表。我想在regno匹配的地方添加table1.points和table2.points的点,如果它不匹配,我也希望它和它的点一起包含在列表中,如下图所示
我已经通读了存在的问题,但没有找到解决办法,例如我如何在mysql中跨多个表求和?
(
SELECT `Ex`.regNo,(`In`.`points`+`Ex`.`points`) AS 'Points'
FROM Table1`In`
LEFT JOIN Table2`Ex` ON `In`.`regNo` = `In`.`regNo`
)
UNION
(
SELECT`Ex`.regNo,(`In`.`points`+`Ex`.`points`) AS 'Points'
FROM Table1`In`
RIGHT JOIN Table2`Ex` ON `In`.`regNo` = `In`.`regNo`
);
我想让它给名单按照独特的(独特的)regno安排
3条答案
按热度按时间iklwldmw1#
请检查这个。你需要使用
full outer join
以及聚合前的空替换6mw9ycah2#
你在找一个
FULL JOIN
在两张table之间。注意:您没有指定生成新的
id
因此,默认情况下,上面的查询将显示table1.id
如果有,否则table2.id
.如果您最好生成一个新的自动递增字段,那么:
mrfwxfqh3#
你需要
UNION
然后GRoUP BY
: