没关系的,不用理这个错误,分析器的问题,继续就行了。可以当做正常视图来用,我这里2008的ssms提示的忽略,不是继续。
你这查询设计不合理,设计一个函数,id做参数,返回科目。
1-建立函数
CREATE FUNCTION dbo.func_Get_student_subjects(@id varchar(10))
RETURNS varchar(8000) --返回返回值的数据类型
as
BEGIN
declare @result_name varchar(8000)
select @result_name=''
select @result_name =@result_name+case when @result_name='' then '' else '/' end+ trim(subject) from subject where id= @id
RETURN @result_name
End
2-查询
SELECT DISTINCT(a.id) as 学号,(a.name) as 姓名,(a.sex) as 性别,
dbo.func_Get_student_subjects( a.id) as 科目
from Student
或者
SELECT a.id 学号,(a.name) 姓名,(a.sex) 性别,
科目= stuff((SELECT '/'+ b.Subject FROM Subject b WHERE b.id= a.id FOR xml path ('')) ,1, 1,'')
from Student a
如有多行加这一句
group by a.id,a.name,a.sex