我有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;
答案 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;