加入两个具有相同id的mysql SELECT查询

时间:2017-04-07 11:47:58

标签: mysql join

我有两个SELECT查询:

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,但我不知道如何。

1 个答案:

答案 0 :(得分: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

因此,我们将第二个查询中的a重命名为b,然后我们将第一个查询的表添加到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