两个表之间的SQL Server 2005查询
我有两个表(见下文),RM和RP。在下面的RP表中,提供者密钥可以有许多RegionID(密钥)与之关联。我是否可以创建一个查询,允许我返回一个提供者及其所有关联的RegionID(使用RP表),并从RM表中获取RegionID各自的ClientNum两个表之间的SQL Server 2005查询,sql,sql-server,Sql,Sql Server,我有两个表(见下文),RM和RP。在下面的RP表中,提供者密钥可以有许多RegionID(密钥)与之关联。我是否可以创建一个查询,允许我返回一个提供者及其所有关联的RegionID(使用RP表),并从RM表中获取RegionID各自的ClientNum RM Table RP Table -------- -------- RegionId key RegionId key
RM Table RP Table
-------- --------
RegionId key RegionId key
.. Provider key
..
ClientNum
试试这个:
SELECT P.*, RM.RegionId, RM.ClientNum
FROM Provider P
INNER JOIN RP ON P.ID = RP.Provider
INNER JOIN RM ON RM.RegionId = RP.RegionId
您将获得每个提供者/clientNum关联的一行
[编辑以反映评论]您尝试过什么吗?这看起来像是一个直接的内部连接。我尝试了以下方法,但它表明区域是无效的对象名。从P.ID=RegionProvider上的提供程序P内部连接RegionProvider中选择P.*,RegionMaster.RegionId为Expr1,RegionMaster.ClientNum为Expr2。R.ID=RegionProvider上的提供程序内部连接区域R为RegionProvider.RegionId内部连接RegionMaster为RegionMaster.RegionId=R.ID