联接2个表

| 这是我的查询
SELECT Testcases.Testcase, Tests.Result
FROM Testcases LEFT JOIN Tests ON Tests.TestCaseID=Testcases.ID
WHERE Tests.Release=\"1.1.111\";
但是,我想要的是获得Testcase中的所有行,无论是否为
Tests.TestCaseID=Testcases.ID
。对于测试中的每一行,对于给定的发行版号,在测试用例中只有一行。 样品:
Testcases table
---------------
ID Testcase
1  TC-1
2  TC-5
3  TC-8

Tests table
-----------
ID TestCaseID Result Release
1  1          OK     1.1.111
2  3          FAIL   1.1.111
我想要得到的是
Testcase Result
TC-1     OK
TC-5     <empty>
TC-8     FAIL
    
已邀请:
然后,您应该使用外部联接:
SELECT tc.Testcase, t.Result
FROM Testcases as tc, 
LEFT OUTER JOIN Tests as t 
ON Tests.TestCaseID=Testcases.ID
WHERE Tests.Release=\"1.1.111\";
    
如果Tests.TestcaseID不等于Testcases.ID,则它不是联接。您是否要获得笛卡尔积? 如果只需要Testcases中的所有行,则只需执行TESTCASES中的SELECT *。 不清楚您想要什么-为什么不给出3行表格的示例?     
终于这对我有用,尝试一下。
SELECT Testcases.Testcase, Tests.Result
FROM Testcases LEFT OUTER JOIN Tests ON Tests.TestCaseID=Testcases.ID 
WHERE Tests.Release=\"1.1.111\"
    

要回复问题请先登录注册