繁体   English   中英

具有 2 个计数和 2 个左外连接的 SQL 查询

[英]SQL query with 2 counts and 2 left outer joins

我试图显示我的 t1_elem 表中的所有列并加入我使用 COUNT 的 2 列。

我使用查询:

SELECT p.*,COUNT(t4_id) as ile_publikacji, COUNT(t7_id) as ile_fitow 
FROM t1_elem p
LEFT OUTER JOIN t4_autorzy ON p.t1_id=t4_autorzy.t4_t1_id
LEFT JOIN t7_pliki ON p.t1_id=t7_pliki.t7_t1_id
GROUP BY t1_id

但结果很糟糕。 我做错了什么?

可能您有多个匹配项。 如前所述,这两个计数将相同。 最简单的解决方案可能是使用distinct

SELECT p.*, COUNT(DISTINCT t4_id) as ile_publikacji, COUNT(DISTINCT t7_id) as ile_fitow 
FROM t1_elem p LEFT JOIn
     t4_autorzy
     ON p.t1_id = t4_autorzy.t4_t1_id LEFT JOIN
     t7_pliki
     ON p.t1_id=t7_pliki.t7_t1_id
GROUP BY t1_id

暂无
暂无

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

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