【问题标题】:Multiple joins in SQL statementSQL 语句中的多个连接
【发布时间】:2018-12-16 00:06:53
【问题描述】:

为了搞清楚,我有两张表,employeesjobs

employees 我有列名、姓、员工ID。

jobs我有专栏

job_id, job_name, job_description, job_opener, job_responsible_person

其中最后两个是引用employees 表的外键。

这是我的 SQL 语句

String cmd = "SELECT je.id, firstname, lastname, job_name FROM jat.employees je" +
            " INNER JOIN jat.jobs jj ON je.id = jj.job_opener ";

然后我用它填充数据表。

我需要在同一个表中再添加两列,例如第二个名字和第二个姓氏,但这将取决于 job_responsible_p,因此 ON 子句将是

ON je.id = jj.job_responsible_p

这可能在一个查询中吗?

【问题讨论】:

    标签: c# sql join select


    【解决方案1】:

    是的,因为您可以使用条件运算符,例如 AND ORJOIN ON 条件。

    INNER JOIN jat.jobs jj 
    ON je.id=jj.job_opener 
    AND je.id=jj.job_responsible_p
    

    【讨论】:

      【解决方案2】:

      是的,您可以一次加入多个表:

      SELECT je.id, je.firstname, je.lastname, jj.job_name, jr.firstname, jr.lastname
      FROM jat.employees AS je INNER JOIN jat.jobs AS jj INNER JOIN jat.employees AS jr
      ON je.id=jj.job_opener AND jr.id=jj.job_responsible_person;
      

      【讨论】:

        猜你喜欢
        • 2016-06-21
        • 1970-01-01
        • 2011-12-12
        • 1970-01-01
        • 1970-01-01
        • 2018-08-30
        相关资源
        最近更新 更多