-1

你好,我有 4 张这样的桌子。

在此处输入图像描述

如何使用 sql sintax 得到这样的结果?

之前谢谢。:D

4

1 回答 1

1

下面的查询将列出表中的所有记录,Computer无论它是否与其他表匹配id,因为LEFT JOIN已使用。Computer单独计算一台计算机的点击数的原因是因为如果into table有多个匹配,它可能会产生无效的计数LIKE

SELECT  a.ID, a.Name, 
        SUM(sta_like = 1) total_like,
        SUM(sta_like = 0) total_dislike,
        COALESCE(totalHits, 0) total_hits
FROM    Computer a
        LEFT JOIN `LIKE` b
            ON a.id = b.id_com
        LEFT JOIN
        (
            SELECT  id_com_hits, COUNT(*) totalHits
            FROM    hits
            GROUP   BY id_com_hits
        ) c ON a.ID = c.id_com_hits
GROUP   BY a.ID, a.Name
于 2013-08-31T09:44:33.630 回答