SQL Distinct无法在内连接中工作

时间:2017-08-07 11:37:15

标签: sql inner-join distinct

我正在加入两张桌子" tblQuestion"和" tblSubskill",我需要在结果中使用不同的SubSkillName,如查询中所示

SELECT DISTINCT ss.SubSkillName , ss.SkillId , ss.Id As SubSkillId 
FROM dbo.tblQuestion AS q INNER JOIN
dbo.tblSubSkill AS ss ON q.SubSkillId = ss.Id

工作正常,直到我从tblQuestion添加一列并返回

enter image description here

现在我想从tblQuestion添加一个列,所以查询如下

SELECT DISTINCT ss.SubSkillName , ss.SkillId , ss.Id As SubSkillId , q.EadLevel
 FROM dbo.tblQuestion AS q INNER JOIN
 dbo.tblSubSkill AS ss ON q.SubSkillId = ss.Id

但它返回的内容没有明确的SubSkillName,如下所示

enter image description here

1 个答案:

答案 0 :(得分:1)

好吧,因为我观察到Distinct关键字工作正常,因为它根据所有列来判断两行或更多行之间的差异,因为对于前两行,EadLevel是不同的,这使得整个组合彼此不同。所以它工作正常。 但是,如果您只想要其中一个,那么您必须决定要显示哪个EadLevel。