SELECT category.c_id,category.c_name,jobs.amount FROM qs_category as category
LEFT JOIN qs_jobs as jobs ON category.c_id=jobs.trade
WHERE jobs.addtime >= 1483200000 AND jobs.addtime <= 1498838400
這是查詢語句,左表category是分類表,右表jobs是職位表,我想統計出每個分類下職位的數量。
但是結果有點問題,如果某個分類在職位表的分類欄位裡不存在,也就是說這個分類下沒人加過職位,那麼查詢結果中這個分類也不會顯示。
但是照理說如果左聯的話,右表就算沒有對應的數據,左表的欄位也應該顯示的啊
你where條件寫的右邊的表,當然查不出來拉,右表為空的時候條件字段也為空,被你where篩選掉了。
我也遇到這種情況,是你的where條件篩選掉了。解決方法,把寫在where裡的條件追加在on裡面!
where是對連表後的結果集進行篩選,但是on裡面的條件如果為假,左表的資料會傳回,右表全為空