【问题标题】:join 3 tables very complicated in sqlserver在sql server中加入3个非常复杂的表
【发布时间】:2012-04-08 22:59:38
【问题描述】:
 i have 3 tables (employee,structure,District)

 1_employee table contains  empid,workid  and actuallwork  fks to structid 
 2_ structure table contains structid , districtId fk to district
 3_District table contains districtid , districtname

我想得到

empid  ,  work 

,实际工作(来自外键实际工作的地区名称)

【问题讨论】:

    标签: sql-server join inner-join


    【解决方案1】:

    您可以在查询中多次使用同一个表,前提是您为每次出现都提供了不同的别名。结构和地区列出了两次,第一次是工作/地区,第二次是实际工作/实际地区。这就是您在处理对同一个表的多个引用时区分列的来源的方式。

    select employee.empid,
           district.districtname,
           actualdistrict.districtname acturaldistrictname
      from employee
        inner join structure work
           on employee.workid = work.structid
        inner join district
           on work.districtfk = district.districtid
        inner join structure actualwork
           on employee.actuallworkfk = actualwork.structid
        inner join district actualdistrict
           on actualwork.districtfk = actualdistrict.districtid
    

    【讨论】:

      猜你喜欢
      • 2015-10-10
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多