繁体   English   中英

MySQL查询左联接问题以获取数据

[英]MySQL Query Left Join Problem To Get Data

我想在这里显示喜欢的数据:

id_produk | jumlah_liker | id_user
1         |            5 | 1
2         |            0 | 1

审查表产品

pr_id | nama
1     | Milk
2     | Choco

查看表喜欢

id_produk | id_user
1         | 1 
1         | 1 
1         | 1 
1         | 1 
1         | 1 

但是我有SQL记录

id_produk | jumlah_liker | id_user
1         | 1            | 1 //the problem here
2         | 0            | 1

SELECT liker.id_produk, COUNT(liker.id_produk) AS jumlah_like, liker.id_user 
    FROM produk 
    LEFT OUTER JOIN liker ON liker.id_produk = produk.pr_id AND liker.id_user = 1
    GROUP BY produk.pr_id

您需要同时对id_produkid_user列进行GROUP BY 另外,您应该从produk表中选择ID并对其进行汇总。 produk进行左连接的produk是确保每种产品始终出现在输出中。

SELECT
    p.pr_id,         -- NOT liker.id_produk
    COUNT(l.id_produk) AS jumlah_like,
    l.id_user 
FROM produk p
LEFT JOIN liker l
    ON l.id_produk = p.pr_id AND l.id_user = 1
GROUP BY
    p.pr_id,
    l.id_user;

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM