[英]Saving multiple records to the join table with same ids but different data
[英]SQL Join with subquery counting number of records with the same id in a different table
好吧,我有三(3)个表要合并在一起
row_id
自动递增的 row_id
row_id
无序评分和注释 我想加入所有这些表,以便可以查看所有详细信息以及tableC中row_id
和avg等级的实例数。
SELECT *
FROM `tableA` A
LEFT JOIN `tableB` B
ON A.`row_id` = B.`row_id`
LEFT JOIN (
SELECT COUNT( 1 ) AS 'count', Avg(`row_rating`) AS 'avg'
FROM `tableC`
GROUP BY tableC.`row_id`
)C
ON C.`row_id` = A.`row_id`
ORDER BY C.`avg` ASC
该查询的结果将所有正确但合并的计数合并在一起,并且在所有行中均显示avg。
看起来您想按内部查询中的row_id
对记录进行row_id
。 在这种情况下,您需要SELECT
row_id
而不是COUNT(1)
,请尝试以下操作:
SELECT *
FROM `tableA` A
LEFT JOIN `tableB` B
ON A.`row_id` = B.`row_id`
LEFT JOIN (
SELECT row_id, Avg(`row_rating`) AS 'avg'
FROM `tableC`
GROUP BY tableC.`row_id`
)C
ON C.`row_id` = A.`row_id`
ORDER BY C.`avg` ASC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.