这是我的查询
SELECT Testcases.Testcase, Tests.Result
FROM Testcases LEFT JOIN Tests ON Tests.TestCaseID=Testcases.ID
WHERE Tests.Release="1.1.111";
但是,我想要的是获取Testcases中的所有行,无论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
答案 0 :(得分:1)
然后你应该使用外连接:
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";
答案 1 :(得分:0)
如果Tests.TestcaseID不等于Testcases.ID,则它不是连接。您是否想要获得笛卡尔积?
如果您只想要Testcases中的所有行,那么只需从TESTCASES执行SELECT *。
目前尚不清楚你想要什么 - 你为什么不给出一个3行的例子?
答案 2 :(得分:-1)
最后这对我有用,试试吧。
SELECT Testcases.Testcase, Tests.Result
FROM Testcases LEFT OUTER JOIN Tests ON Tests.TestCaseID=Testcases.ID
WHERE Tests.Release="1.1.111"