【问题标题】:SQL query with 2 counts and 2 left outer joins具有 2 个计数和 2 个左外连接的 SQL 查询
【发布时间】:2020-12-15 12:47:24
【问题描述】:

我试图显示我的 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

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

【问题讨论】:

  • "但是结果不好" 结果有什么不好???谁能帮你解决这个问题?

标签: sql select count left-join


【解决方案1】:

您可能有多个匹配项。如前所述,这两个计数将是相同的。最简单的解决方案大概是使用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

【讨论】:

  • 谢谢!这解决了我的问题。我会读到distinct函数:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-05
  • 1970-01-01
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多