2017-04-07 106 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