内连接查询不起作用

时间:2015-02-25 10:13:48

标签: mysql database inner-join

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

但是这个查询不正确。它重复记录。我猜它采取了一些交叉产品或其他东西。 有谁知道如何解决它?

数据:

Results Analysed

1 个答案:

答案 0 :(得分:0)

问题在于数据。它显然为每个Results提供了多个Analysed(每个Analysed甚至多个Bug

您可以使用DISTINCTGROUP BY来删除重复项,或者根据您的要求/架构/数据过滤器(例如analysed标记的列来获取一个AnalysedResults行记录{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