[英]How to get data with condition SQL QUERY
所以首先,我有 2 張桌子。 第一個是類別
Id Name
------------
1 Interior
2 Eksterior
3 Display
然后第二個表是歷史數據是我完成的任務
Id category_name category_id date (month) User Id
---------------------------------------------------------------
001 Interior 1 3 1084
002 Eksterior 2 3 1084
003 Interior 1 4 1089
004 Eksterior 2 4 1085
005 Display 3 4 1085
我想要的是按月獲取類別,用戶 ID 並知道哪些已經完成,哪些沒有從歷史記錄中完成,就像這樣
以用戶 ID 為 1084 的 3 月份數據為例:
Id Name Status
---------------------------
1 Interior done
2 Eksterior done
3 Display not done
或像這樣:
Id Name Status
--------------------------
1 Interior 1
2 Eksterior 1
3 Display 0
如果歷史表中的類別存在,則狀態將為 1 表示已完成,0 表示未完成。
這是我之前的查詢:
SELECT c.id, c.category, c.id=h.category_id status FROM categories c, history h WHERE MONTH(h.created_at)
我一直在為我的查詢檢索錯誤的結果。 請幫我..
看起來像:
SELECT *
FROM
categories c
LEFT JOIN history h on h.category_id = c.id AND h."date (month)" = 3
..將使您朝着您想要的方向發展:歷史表中的行中將有 NULL 用於顯示類別; 你可以使用這個“is or is or not null”來創建你的done/not done
列
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.