【问题标题】:JOIN with SQL across multiple tables in SQL Server 2008在 SQL Server 2008 中跨多个表使用 SQL 联接
【发布时间】:2014-06-06 21:24:25
【问题描述】:

我有一个包含多个表的 SQL Server 2008 数据库,我需要加入这些表然后进行查询 该数据库有以下表格:

**Address** with unique reference column AddressNo
**Employee** with unique reference columns AddressNo & PersonNo
**EmploymentLink** with unique reference columns PersonNo & BusinessNo
**Business** with unique reference column  BusinessNo
**BusinessSICCode** with unique reference column BusinessNo

我想链接所有这些表,这样我就可以运行查询来拉回所有表中的数据,因为有多个表,我不知道该怎么做,希望得到任何帮助指导

以下是我目前提出的查询

SELECT Employee.*, Address.*,Business.*,BusinessSICCode.*
FROM Employee,Address,Business,BusinessSICCode 
JOIN Employee ON Employee.AddressNo = Address.AddressNo
JOIN Employee ON Employee.PersonNo = EmploymentLink.PersonNo 
JOIN Business ON Business.BusinessNo = EmploymentLink.BusinessNo 
JOIN BusinessSICCode ON BusinessSICCode.BusinessNo = Business.BusinessNo 

【问题讨论】:

    标签: sql sql-server-2008


    【解决方案1】:

    这样的事情应该会让你继续前进

    SELECT * FROM
    Address a INNER JOIN Employee e ON e.AdressNo = a.AddressNo
    INNER JOIN EmploymentLine l on l.PersonNo = e.PersonNo
    INNER JOIN Business b ON b.BusinessNo = l.BusinessNo
    INNER JOIN BusinessSICCode c ON c.BusinessNo = b.BusinessNo
    

    如果您有一些可能没有记录但仍需要父表中的值的表,您可以将 INNER JOINS 更改为 LEFT JOINS。

    【讨论】:

    • 谢谢 Palehorse,你让它看起来如此简单,而我真是个傻瓜——这正是我想要的——谢谢
    • 我很高兴,一点也不傻,多年来一直这样做。如果这解决了您的问题,请将其标记为正确答案,我们将不胜感激。
    猜你喜欢
    • 2012-05-22
    • 2023-04-01
    • 2014-12-29
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多