首页 > 解决方案 > Mysql - 我有 3 个独特的表,需要提示以获取计数的详细信息

问题描述

我有 3 个相互连接的表,我想从两个表中选择列并从表 3 中计数。如果有人知道这一点,任何提示将不胜感激。

下面是我尝试过的 sql,但计数重复

SELECT distinct p.p_id, p.p_f6, p.p_l4,m.m_id, ( SELECT COUNT(*) FROM ttokens t where t.pdetail_id = p.pdetail_id ) AS token_count FROM tparking p,ttokens t LEFT join ttokens_md m ON t.trefn_id = m.trefn_id WHERE t.pdetail_id = p.pdetail_id

标签: mysqlgroup-by

解决方案


您可以尝试使用JOINwith subquery 来获取您的计数而不是selcet子查询。

SELECT  p.p_id, p.p_f6, p.p_l4,m.m_id,t.cnt
FROM tparking p
JOIN (
    SELECT pdetail_id,COUNT(*) cnt
    FROM ttokens
    GROUP BY pdetail_id
) t ON t.pdetail_id = p.pdetail_id
LEFT join ttokens_md m ON t.trefn_id = m.trefn_id

笔记

我会使用带条件的逗号JOIN代替逗号来连接两个表,这是一种旧样式。,where,


推荐阅读