我有我的數據庫3個表:MySQL - 如何爲每個GROUP BY集返回多個結果?
- employee_log
- job_log
- crew_log
當創建一個新的工作,員工被分配給它,這樣的條目在「crew_log」表中創建。
我想要做的是將每個員工的type = 2屬性(意味着他們是一個主管)(從employee_log)中獲取,然後將crew_log加入到查詢中。
每個員工可以在「crew_log」中擁有多個活動作業,因此目標是將該員工的所有活動作業返回到數組中。
我的查詢到目前爲止是這樣的:
SELECT el.id, cl.job_id
FROM employee_log AS el
JOIN crew_log AS cl
ON el.id=cl.employee_id
AND cl.start_date >= CURDATE()
WHERE el.type=2
GROUP BY cl.employee_id
這當然是不正確的,但也許它會幫助我的可視化問題。當然
我可以這樣做的另一種方式...但我試圖做的一切是針對性能一個SQL查詢和學習新的東西有關SQL :)
另一種方法是,我用兩個while循環..第一個循環將獲得每個員工type = 2,然後在該循環中,我將執行另一個SQL查詢以獲取該員工的所有活動作業。
必須有更好的方法來做到這一點?
請將三個表格的結構添加到您的問題中。 – nnichols 2012-04-13 00:39:57
我自己沒有得到要求。可能會添加一些來自表格的示例數據(我猜'job_log'不需要),並且以表格格式顯示預期結果會有所幫助。 – 2012-04-13 01:33:44