这是我的问题
SELECT Testcases.Testcase, Tests.Result
FROM Testcases LEFT JOIN Tests ON Tests.TestCaseID=Testcases.ID
WHERE Tests.Release="1.1.111";然而,我想要的是获得测试用例中的所有行,无论是否为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发布于 2011-04-17 19:19:10
那么你应该使用外部连接:
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";发布于 2011-04-17 19:16:23
如果Tests.TestcaseID不等于Testcases.ID,则它不是join。你想得到笛卡尔乘积吗?
如果您只想要测试用例中的所有行,那么只需执行SELECT * from TESTCASES。
还不清楚你想要什么--为什么不给出一个3行表格的例子呢?
发布于 2011-04-17 19:16:35
最后,这对我很有效,试试吧。
SELECT Testcases.Testcase, Tests.Result
FROM Testcases LEFT OUTER JOIN Tests ON Tests.TestCaseID=Testcases.ID
WHERE Tests.Release="1.1.111"https://stackoverflow.com/questions/5693152
复制相似问题