如何在以下代码中组合两个选择查询?

时间:2013-01-18 13:20:36

标签: sql sql-server

我可以将最后两个选择查询合并到一个查询中吗?

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 个答案:

答案 0 :(得分:0)

使用stuff和xml路径可以获得所需的数据(200,201)

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

答案 1 :(得分:0)

如果你这样做怎么办?

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

答案 2 :(得分:0)

如何使用

UNION / UNION ALL
表之间的

然后你至少有一个结果。如果所选字段相同,则可以使用此字段。

看看这里:http://msdn.microsoft.com/en-us/library/ms180026.aspx