SQL区别 - 不工作

时间:2014-05-25 01:17:17

标签: sql distinct

我有3张桌子:学生,申请和大学。

我想让每个学生返回学生和专业。但是,当我这样做时,我会得到“重复”。所以我说:让我们使用distinct,但是我会得到一个错误,而如果我脱掉“distinct”,那么查询工作正常(但是有重复)。

我尝试使用此代码而不使用distinct,但我得到了相同的结果。请帮忙。

*这是MS SQL SERVER ENTERPRISE 2008。 *我得到重复的学生......例如在第1行和第3行,我得到同样的结果:学生:“艾米”,少校:“CS”。

select **distinct** SName as Student, major  
from Student, Apply  
where Student.sID = Apply.sID;

1 个答案:

答案 0 :(得分:0)

您应该将列的数据类型转换为varchar for distinct to work:CONVERT(VARCHAR(MAX), column).

尝试:

select distinct CONVERT(VARCHAR(MAX), SName), CONVERT(VARCHAR(MAX), major)
from Student, Apply  
where Student.sID = Apply.sID;