【问题标题】:Joining 4 Tables in SQL Server Using Join使用 Join 连接 SQL Server 中的 4 个表
【发布时间】:2013-06-30 16:54:03
【问题描述】:

嗨朋友们,我必须在 SQL Server 中加入 4 个表,并且需要在数据网格视图中显示特定的列

第一个表:emp_details

第二个表:tbl_designation

第三张表:tbl_empcontribution

第四张表:tbl_empdeduction

需要在数据网格视图中显示的列是

1.从第一个表我需要显示 emp_id, emp_name, emp_pf
2.from Second Table 我需要显示 designation_name
3.从第三个表我需要显示 pfacc1 和 pfacc2
4.从第四个表我需要显示 pf_percent 和 pf_max

尽量尽快回复这个朋友...谢谢..

【问题讨论】:

    标签: sql sql-server-2008 join datagridview


    【解决方案1】:

    以下是您需要的查询,您应该考虑保持命名约定一致,因为这有助于直观地减少编写代码时的错误。

    SELECT ed.emp_id, ed.emp_name , ed.emp_pf, emd.designation_name, te.pfacc1, te.pfacc2, temp. pf_percent, temp.pf_max
    FROM dbo.emp_details AS ed
    LEFT JOIN dbo.emp_designation AS emd ON emd.designation_id = ed.emp_designation 
    LEFT JOIN dbo.tbl_empcontribution AS te ON te.eid = ed.emp_id
    LEFT JOIN dbo.tbl_empdeduction AS temp ON temp.eid = ed.emp_id
    

    【讨论】:

    • 执行此注释“无效的对象名称'emp_details'”时发生错误。兄弟..@DEvZer0
    • @DerZer0 显示相同的错误,即使插入了 dbo。
    • 代码中有一个小错误,我也更正了它.. 而不是 tbl_designation 它是“emp_designation”。imageshack.us/photo/my-images/196/kndt.jpg@DevZer0
    • 我已经写了查询,如果你的表名没有正确命名,你应该可以解决这个问题
    【解决方案2】:
        SELECT e1.emp_id, e1.emp_name, e1.emp_pf, e2. designation_name, e3.pfacc1, e3.pfacc2, e4. pf_percent,  e4.pf_max 
    
    from emp_details e1, tbl_designation e2, tbl_empcontribution e3, tbl_empdeduction e4
    
     where e1.emp_id= e2.emp_id and e2.emp_id=e3.emp_id and e3.emp_id= e4.emp_id;
    

    假设您在所有 4 个表中都有 emp_id 作为外键

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多