查詢我真的需要執行是引用外部表值如下:MySQL的 - 從雙重嵌套子查詢
SELECT u.points
(SELECT COUNT(1) FROM (SELECT 1 FROM checkin c INNER JOIN wineries w ON w.id = c.winery_id WHERE c.user_id = u.id GROUP BY region_id) b) as states_visited
FROM users u
GROUP BY u.id
ORDER BY points DESC
然而,這將導致以下錯誤:
未知列在「u.id」 「where子句」
我試着與用戶定義的變量,沒有錯誤,但它實際上沒有引用用戶定義的變量值因爲某些原因:
SELECT @uid := u.id, u.points
(SELECT COUNT(1) FROM (SELECT 1 FROM checkin c INNER JOIN wineries w ON w.id = c.winery_id WHERE c.user_id = @uid GROUP BY region_id) b) as states_visited
FROM users u
GROUP BY u.id
ORDER BY points DESC
任何想法如何讓這項工作?沒有明顯的訴諸兩個單獨的查詢?
你能否簡單解釋一下正在使用的表格,它們的模式以及您實際試圖在查詢結果中獲得的內容? –
你可以在sqlFiddle.com上設置一些測試數據,並解釋你期望的結果 –