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

Sql 为具有一个公共列的多个表选择查询,sql,sql-server,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008 R2,具有一个公共列的多个表的select查询 我试过下面的东西,但不起作用 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_a

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

我试过下面的东西,但不起作用

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是所有表中的公共列


Sql新手请帮助

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

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

Select *  
from DM_Audit da  
INNER JOIN DM_APPLICANTS dap ON dap.fk_applicationID=da.fk_applicationID
etc........
在这种情况下,我通常会有一个“键”表,即其中包含最多的数据,或者一个链接到最多其他需要连接的表的表,那么连接其他表就容易多了


注意:如果不是所有表都连接到键表,请先连接尽可能多的表,然后再连接到语句下面的“连接”表。

您想做什么?尝试从多个表中检索记录,这些表的fk_applicationID是所有表中的公共列,这是什么问题?您会遇到什么错误?不工作没有多大帮助。您希望看到什么?上述查询的结果不正确,因为where条件并没有覆盖每个表