内部连接查询不起作用
inner join Query not working
select distinct Analysed.resultId,bugOwner,Analysed.bugId as BugDet,bugType,testCaseName from Bug INNER JOIN Analysed on Analysed.bugId=Bug.bugId INNER JOIN Results on Analysed.runId=Results.runId where Analysed.runId=64
以上工作正常。
现在我有另一个 table 结果 (resultId,runId,analysed,testname)
我还想在我的其他查询中包含 testname,所以我添加了,
select Analysed.resultId,bugOwner,Analysed.bugId as BugDet,bugType,testCaseName from Bug
INNER JOIN
Analysed on Analysed.bugId=Bug.bugId
INNER JOIN Results on Analysed.runId=Results.runId
where Analysed.runId=64
但是这个查询是错误的。它复制了 records.I 猜测它采用了一些叉积或其他东西。
有谁知道怎么解决吗?
数据:
问题出在数据上。显然每个 Analysed
有多个 Results
(甚至每个 Bug
有多个 Analysed
)
您可以使用 DISTINCT
或 GROUP BY
来删除重复项,或者根据您的 requirements/schema/data 过滤器筛选像这样的列 analysed
标志来获取每 Results
行一个 Analysed
记录。
select DISTINCT Analysed.resultId,bugOwner,Analysed.bugId as BugDet,bugType,testCaseName from Bug
INNER JOIN
Analysed on Analysed.bugId=Bug.bugId
INNER JOIN Results on Analysed.runId=Results.runId
where Analysed.runId=64
select distinct Analysed.resultId,bugOwner,Analysed.bugId as BugDet,bugType,testCaseName from Bug INNER JOIN Analysed on Analysed.bugId=Bug.bugId INNER JOIN Results on Analysed.runId=Results.runId where Analysed.runId=64
以上工作正常。
现在我有另一个 table 结果 (resultId,runId,analysed,testname)
我还想在我的其他查询中包含 testname,所以我添加了,
select Analysed.resultId,bugOwner,Analysed.bugId as BugDet,bugType,testCaseName from Bug
INNER JOIN
Analysed on Analysed.bugId=Bug.bugId
INNER JOIN Results on Analysed.runId=Results.runId
where Analysed.runId=64
但是这个查询是错误的。它复制了 records.I 猜测它采用了一些叉积或其他东西。 有谁知道怎么解决吗?
数据:
问题出在数据上。显然每个 Analysed
有多个 Results
(甚至每个 Bug
有多个 Analysed
)
您可以使用 DISTINCT
或 GROUP BY
来删除重复项,或者根据您的 requirements/schema/data 过滤器筛选像这样的列 analysed
标志来获取每 Results
行一个 Analysed
记录。
select DISTINCT Analysed.resultId,bugOwner,Analysed.bugId as BugDet,bugType,testCaseName from Bug
INNER JOIN
Analysed on Analysed.bugId=Bug.bugId
INNER JOIN Results on Analysed.runId=Results.runId
where Analysed.runId=64