2017-04-07 107 views
0

兩個MySQL SELECT查詢我有兩個SELECT查詢:加入具有相同ID

SELECT a.id, a.prev_task 
FROM s_task_assignment a 

SELECT d.id, a.first_name, a.last_name 
FROM s_users a, s_task_assignment d 
WHERE a.id = d.responsible_id 

他們有一個相同的列 - a.prev_taskd.id。此列包含一個ID。

所以我需要以某種方式加入這兩個查詢的結果,其中a.prev_task = d.id但我不知道如何。

回答

2

您可以簡單地把在成一個查詢,如:

SELECT a.id, a.prev_task, d.id, b.first_name, b.last_name 
FROM s_task_assignment a, s_users b, s_task_assignment d 
WHERE a.prev_task = d.prev_task AND b.id = d.responsible_id

所以我們在第二個查詢改名爲ab,而且我們添加的第一個查詢的表到FROM條款,添加了a.prev_task = d.prev_task過濾器。

但是,您可以使其語法更優雅的使用JOIN語句,如:

SELECT a.id, a.prev_task, d.id, b.first_name, b.last_name 
FROM s_users b 
    JOIN s_task_assignment d ON b.id = d.responsible_id 
    JOIN s_task_assignment a ON a.prev_task = d.prev_task
+0

非常感謝您的回答! 我改變了我的第二個查詢錯誤,它必須是: '選擇d.id,a.first_name,a.last_name FROM s_users一個,s_task_assignment d其中a.id = d.responsible_id' 我已經糾正它,你的答案幫助我解決了我的問題! – Kir

+0

@Kir:請['[edit]'](http://stackoverflow.com/posts/43277351/edit)你的問題。 –

+0

我糾正了我的問題。再次感謝。 – Kir