如何从两个t-sql中组合两列?

时间:2011-09-20 15:48:15

标签: tsql

我正在使用t-sql。 我想返回一个带有两个coulmns的dataTable:A,B

但'联盟'不是这样的。我应该使用什么语法?

select Params as A
from Table1
where ID = '1'

union

select Params as B
from Table1
where ID = '2'  

更新:很抱歉,我有一个错字:@CITD => ID

TIA

3 个答案:

答案 0 :(得分:0)

在不知道AB如何关联的情况下,无法创建逻辑结果集,其中AB对于一条记录都不等NULL。< / p>

以下内容将为您提供1个包含2列的结果集,但如果您希望将它们更多地“合并”,则需要更多关于它们如何相关的信息:

select Params as A, NULL as B
from Table1
where @CTID = '1'

union

select NULL as A, Params as B
from Table1
where @ID = '2' 

答案 1 :(得分:0)

select T1.Params as A, T2.Params as B
from Table1 T1 
INNER JOIN Table1 T2 ON  @CTID = '1' AND @ID = '2' 

希望这有帮助。

答案 2 :(得分:0)

SELECT
  MAX(CASE ID WHEN '1' THEN Params END) AS A,
  MAX(CASE ID WHEN '2' THEN Params END) AS B
FROM Table1
WHERE ID IN ('1', '2')