我有两张表如下:
当我使用以下命令时,我得到以下结果:
SELECT A.enid AS enid, sum(A.comment) AS Comments, B.enname
FROM ee.entity_epoch A
right JOIN ee.entity B
ON A.id = B.enid group by A.enid
结果:
但是根据以下链接:
joins 因为我使用正确的连接,我希望得到saman和reza的记录,注释列为null。我很困惑,任何人都可以说我怎样才能获得saman和reza的记录以及null的评论栏加上上面显示的结果?
答案 0 :(得分:1)
reza和saman在A中都有匹配,因此没有为它们生成A的“Comments is NULL”记录。你确定你不想要
SELECT A.enid AS enid, sum(A.comment) AS Comments, B.enname
FROM ee.entity_epoch A
right JOIN ee.entity B
ON A.enid = B.enid group by A.enid
答案 1 :(得分:1)
我认为在加入之前你想要一个子查询。
SELECT *
FROM (SELECT enid
, SUM(COMMENT) AS Comments
FROM entity_epoch
GROUP BY enid) a
RIGHT JOIN
entity B ON A.enid = B.enid
就我个人而言,我会重新排序并使其成为左连接以便于阅读,但它没有任何功能差异。
这也可以这样做:
SELECT A.enid AS enid
,SUM(A.Comment) Comments
, B.enname
FROM entity_epoch A
RIGHT JOIN
entity B
ON A.enid = B.enid
GROUP BY b.enid
我很高兴看到exectuon计划中的不同,但没有MySQL可用。