内部连接查询不起作用

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

您可以使用 DISTINCTGROUP 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