顯示所有的行,以便concered我的兩個表的大致結構如下:SQL LEFT JOIN不是從左邊
Table one: Services
services.id
services.name
Table two: Orders
orders.id
orders.item
orders.service
表一個包含服務的列表。而表二是訂單清單。我試圖從表2(訂單)生成所有服務訂單的列表,但還包括(零)尚未訂購的服務。我知道這就是LEFT JOIN來的地方,但它似乎根本不起作用。它顯示大部分服務,但有一個或兩個記錄(來自服務)不被顯示。這裏是我目前使用的查詢..
任何指導都非常感謝,謝謝!
select services.name,count(orders.service)
from services
LEFT JOIN orders ON services.id=orders.service
WHERE item IN (1,2,3,4)
group by statuses.service;
或許,這將是更好的IN子句移動到連接條件:'ON services.id = orders.service以及標記(...)' – 2011-03-25 14:04:21
它更有意義把它放在連接條件,因爲在那裏項目爲空...導致錯誤的計數(它也計算項目不在(1,2,3,4)) – 2011-03-25 14:08:08
盡我所知這個http:// www。 wellho.net/mouth/158_MySQL-LEFT-JOIN-and-RIGHT-JOIN-INNER-JOIN-and-OUTER-JOIN.html例子中的左連接mysql也可以帶空值。所以寫作「是空的」不是我想要的。 – Bastardo 2011-03-25 14:10:04