您可以使用此查詢。對於這種模式下的查詢,我有通用模板。你可能需要調試,因爲我沒有你的表結構。它聚結的標題成一個列表
DECLARE @List varchar(2000), @otherList varchar(2000),@FirstName varchar(2000),@id varchar(2000)
declare @temp table(
firstName varchar(128),
title varchar(4000)
)
DECLARE TitleList CURSOR FAST_FORWARD FOR
select s.FirstName, s.Id
from ClientStaff cs
left outer join Staff s on s.Id = cs.StaffId
OPEN TitleList
FETCH NEXT FROM TitleList INTO @FirstName,@id
WHILE @@FETCH_STATUS = 0
BEGIN
select @List = COALESCE(@List + ',', '') + Cast(glTitle.LookupItem As varchar(400))
from StaffTitle st
left outer join GeneralLookup glTitle on glTitle.Id = st.glTitleId
where st.StaffId = id
insert into @temp
select @FirstName,@List
set @List = null;
FETCH NEXT FROM TitleList INTO @FirstName,@id
END
CLOSE TitleList
DEALLOCATE TitleList
select * from @temp
正在使用的是何種數據庫? – grantk 2011-04-12 12:33:28
SQL SERVER 2008 – asma 2011-04-12 12:37:49
看看這個答案http://stackoverflow.com/questions/5631899/t-sql-how-to-get-the-corresponding-comma-separated-text-for-a-string-of -comma-S/5633449#5633449。 cte部分將逗號分隔的字符串拆分爲行,並且使用cte的查詢將它們再次組合。 – 2011-04-12 13:06:41