【问题标题】:Join two mysql SELECT queries with the same id加入两个具有相同 id 的 mysql SELECT 查询
【发布时间】:2017-04-07 11:47:57
【问题描述】:

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

【问题讨论】:

    标签: mysql join


    【解决方案1】:

    您可以简单地放入一个查询,例如:

    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

    【讨论】:

    • 非常感谢您的回答!我第二次查询出错了,一​​定是:SELECT d.id, a.first_name, a.last_name FROM s_users a, s_task_assignment d WHERE a.id = d.responsible_id我已经改正了,你的回答帮我解决了问题!
    • @Kir:请[edit]你的问题。
    • 我已经更正了我的问题。再次非常感谢。
    猜你喜欢
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 2021-12-12
    • 1970-01-01
    • 2013-05-18
    相关资源
    最近更新 更多