表1:食品新到SQL - 需要幫助的查詢
id name
-------
1 Hot-dog
2 Sandwich
3 Apple
表2:報告
id food_id date
----------------
1 1 2010-01-01
2 1 2010-02-01
3 2 2011-02-01
我怎樣才能設計出一個查詢到食品表選擇的所有食物一個名爲numReports的變量,它是食品在報告中所有報告的總數量。
我一直想:
SELECT
food.id AS foodId,
food.name AS foodName,
count(
SELECT * FROM reports WHERE reports.food_id=food.id
) AS numReports
FROM
food
輸出:
id name numReports
-------------------
1 Hot-dog 2
2 Sandwich 1
3 Apple 0
差不多吧,只是移動'Count'子選擇內。 – Magnus
提到你的答案尋求幫助,謝謝。爲什麼人們會選擇使用INNER JOIN而不是我們所做的方式? – Chris
我不知道,它更容易與子查詢編寫(因爲我們有),因爲你不必指定列的所有組(可以很多),如果你沒有在主鍵上分組子查詢將會有更好的表現。 – Magnus