我有两个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_task
和d.id
。此列包含id。
所以我需要以某种方式加入这两个查询的结果a.prev_task = d.id
,但我不知道如何。
答案 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