Sql server 2008 取消PIVOT列以生成行

Sql server 2008 取消PIVOT列以生成行,sql-server-2008,tsql,sql-server-2005,unpivot,Sql Server 2008,Tsql,Sql Server 2005,Unpivot,我有这样一个问题: SELECT '35111212', '11245452', '42215512'...... and more values. 这导致: (No column name) (No column name) (No column name) -------- -------- -------- 35111212 11245452 42215512 我需要将其转换为: (No c

我有这样一个问题:

SELECT '35111212', '11245452', '42215512'...... and more values.
这导致:

(No column name)    (No column name)    (No column name)
--------           --------            --------
35111212           11245452            42215512
我需要将其转换为:

(No column name)
--------
35111212
11245452
42215512

不使用“联盟”这可能吗?我在select中有大量值。

如果您的列命名为:

select val from  
( 
   select col1 = '1', col2 = '2', col3 = '3'
) a
unpivot 
(
   var for col in (col1, col2, col3)
) as unpvt

如果列的名称为:

select val from  
( 
   select col1 = '1', col2 = '2', col3 = '3'
) a
unpivot 
(
   var for col in (col1, col2, col3)
) as unpvt

这些值来自哪里,它们只是字符串值?它们是桌子上的吗?你能发布表格结构吗?只有字符串,很多!这是一个问题,因为我不能使用Union,但是你从哪里得到这个字符串列表呢?我从一个XML文件中得到这个列表,我必须在Delphi应用程序中处理它,所以在Delphi中我构建了这样一个commandText。我不能在这里全部解释sry,但是想法是在不使用“WHERE IN”和“UNION”的情况下将一个表与这个列表连接起来,因为这个列表太大了。您可以将整个XML blob放入一个临时表中,然后使用xquery/xpath提取您需要的值。否则,如果它们真的只是一堆字符串值,那么TSQL中没有太多选项。这些值来自哪里,它们只是字符串值?它们是桌子上的吗?你能发布表格结构吗?只有字符串,很多!这是一个问题,因为我不能使用Union,但是你从哪里得到这个字符串列表呢?我从一个XML文件中得到这个列表,我必须在Delphi应用程序中处理它,所以在Delphi中我构建了这样一个commandText。我不能在这里全部解释sry,但是想法是在不使用“WHERE IN”和“UNION”的情况下将一个表与这个列表连接起来,因为这个列表太大了。您可以将整个XML blob放入一个临时表中,然后使用xquery/xpath提取您需要的值。否则,如果它们实际上只是一组字符串值,那么TSQL中就没有太多选项。