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
以上工作正常。
现在我有另一个表结果(resultId,runId,analyze,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
但是这个查询不正确。它重复记录。我猜它采取了一些交叉产品或其他东西。 有谁知道如何解决它?
数据:
答案 0 :(得分:0)
问题在于数据。它显然为每个Results
提供了多个Analysed
(每个Analysed
甚至多个Bug
您可以使用DISTINCT
或GROUP BY
来删除重复项,或者根据您的要求/架构/数据过滤器(例如analysed
标记的列来获取一个Analysed
每Results
行记录{1}}。
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