![](/img/trans.png)
[英]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.