A,B两个表,首先在A表查询到30个结果,然后根据这30个结果去A表去查询(相对应4个ID条件)
但是返回的结果不对,不是30个,请教高手!到底用什么连接方式?
Select * 
From [Test Case Run] as B 
right Join
(Select * 
From [dbo].[Regression_TestCase_Status] 
where TestRunGUID='baa8dbd2-acbe-49d0-88ff-80e9d9bf2a5e') A
on A.TestPropertyGroupID=B.TestPropertyGroupID and
A.TestPropertyID=B.TestPropertyID and
A.MetricID=B.MetricID and
A.TestCaseID=B.TestCaseID
-----------------------------------
其中
(Select * 
From [dbo].[Regression_TestCase_Status] 
where TestRunGUID='baa8dbd2-acbe-49d0-88ff-80e9d9bf2a5e')
是正确的,30个结果,然后我想以这30个结果去A表里查

解决方案 »

  1.   


    Select A.* 
    From [Test Case Run] as B 
    right Join
    (Select * 
    From [dbo].[Regression_TestCase_Status] 
    where TestRunGUID='baa8dbd2-acbe-49d0-88ff-80e9d9bf2a5e') A
    on A.TestPropertyGroupID=B.TestPropertyGroupID and
    A.TestPropertyID=B.TestPropertyID and
    A.MetricID=B.MetricID and
    A.TestCaseID=B.TestCaseID
      

  2.   


    select A.*,B.* from 
    (Select * From [dbo].[Regression_TestCase_Status] where TestRunGUID='baa8dbd2-acbe-49d0-88ff-80e9d9bf2a5e') A LEFT join [Test Case Run] as B 
    ON  A.TestPropertyGroupID=B.TestPropertyGroupID and A.TestPropertyID=B.TestPropertyID and A.MetricID=B.MetricID and A.TestCaseID=B.TestCaseID
      

  3.   


    是不是LZ的[Test Case Run] 有重复记录,这样的话,就有可能出现超过30条记录