选择具有一个公共列的多个表的查询

时间:2014-08-22 07:05:18

标签: sql sql-server sql-server-2008-r2

对具有一个公共列的多个表的选择查询

我尝试过以下但不能正常工作

Select *  from DM_Audit da,  DM_APPLICANTS dap , DM_POLICY dp, DM_Names dn,DM_Address ad 
where da.fk_applicationID=dap.fk_applicationID and
dap.fk_applicationID=dp.fk_applicationID and 
dp.fk_applicationID=dn.fk_applicationID and
dn.fk_applicationID=ad.fk_applicationID 

这里fk_applicationID是所有表中的Common列

Sql的新用户请帮忙

1 个答案:

答案 0 :(得分:0)

列名可能相同,但是它是否引用了每个表中预期记录的数据?

如果确实如此,那么使用连接重新编写查询将是检查链接的更简单方法:

Select *  
from DM_Audit da  
INNER JOIN DM_APPLICANTS dap ON dap.fk_applicationID=da.fk_applicationID
etc........

我通常会有一把钥匙'这种情况下的表(即包含大部分数据的表,或链接到需要连接的大多数其他表的表)然后加入其他表就容易得多。

N.B。如果不是所有的表都加入到密钥表中,请尽可能多地加入,然后加入“加入”表。表格下面的表格。