數據製作部:
Declare @StudentCourse table
(
StudentName varchar(30),
Course varchar(30)
)
Insert into @StudentCourse
select 'Alice','OS' union all
select 'alice','Network' union all
select 'Bob','OS' union all
select 'Bob','NetWork' union all
select 'Carl','Database' union all
select 'Carl','Network'
您可以使用XML路徑功能連接一名學生下的課程。將此結果集存儲在臨時表中。請找到下面的查詢此:
Select StudentName,
Stuff(
(
select ','+ Course from @StudentCourse where StudentName =
temp.StudentName for XML path('')
),
1,1,'') as Courses into #tempTable
From (select distinct StudentName from @StudentCourse)temp
下面查詢中使用以查看結果集:
select * from #tempTable
現在,你可以用下面的查詢看到學生用同一套課程:
select t1.StudentName, t1.Courses from #tempTable t1 join
(
select Courses from #tempTable group by courses having count(1)>1
) as tmpCourses
on t1.Courses=tmpCourses.Courses
我希望這會有所幫助。
請至少以樣本數據正確地發佈您的要求,我們可能很難幫助您解決目前的問題。編輯您的問題,我相信您會得到很多幫助 –
剛剛對排版不好的人抱歉。 – Yiyang
你正在使用哪個數據庫?你的預期結果是什麼? – GurV