2013-01-18 40 views
1

我可以將最後兩個選擇查詢組合成一個查詢嗎?如何在以下代碼中組合兩個select查詢?

DECLARE @AttributeLink table(qeaId int,nQeaId int) 

insert into @AttributeLink values(100,200) 
insert into @AttributeLink values(101,201) 
insert into @AttributeLink values(102,202) 

declare @prmVar varchar(200) 

select @prmVar = COALESCE(@prmVar + ',', '') + cast(nQeaId as varchar) 
    from @AttributeLink 
    where qeaId in (100, 101) 

select @prmVar 
+3

簡單的答案是否定的。 select中的賦值不能返回記錄集。 – Tomek

+0

我試圖將類似的選擇查詢放入插入查詢 – Jom

+0

。以前qeaId是單個值,我可以直接加入@AttributeLink表。現在qeaId以昏迷分離的形式出現。 – Jom

回答

0

使用的東西和XML路徑,你可以得到你想要的數據(200,201)

select stuff 
(
    (
     select ', ' + convert(nvarchar(max),nQeaId) 
     from @AttributeLink al 
     where al.qeaId in (
      100 
      ,101 
     ) 
     for xml path('') 
    ) 
    ,1 
    ,1 
    ,'' 
) 
0

如果你只是做這個?

select COALESCE(@prmVar + ',', '') + cast(nQeaId as varchar) 
from @AttributeLink 
where qeaId in (100, 101)