簡體   English   中英

如何獲取條件為 SQL QUERY 的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM