简单的问题,只是出于好奇。
例如select 1,2,3
将table
显示one column
和three rows
。
这样的事情:select values(1),(2),(3)
* 一个选择语句
答案 0 :(得分:5)
我在帖子中发表评论的一个例子。
DECLARE @TABLE TABLE (ONE INT, TWO INT, THREE INT)
INSERT INTO @TABLE VALUES (1,2,3)
SELECT UP.COL, UP.VALUE
FROM @TABLE
UNPIVOT (VALUE FOR COL IN (ONE,TWO,THREE)) UP
答案 1 :(得分:5)
<强>查询:强>
DECLARE @t TABLE (i1 INT, i2 INT, i3 INT)
INSERT INTO @t VALUES (1, 2, 3)
SELECT t.*
FROM @t
CROSS APPLY (
VALUES(i1), (i2), (i3)
) t(value)
<强>输出:强>
value
-----------
1
2
3
其他信息:
http://blog.devart.com/is-unpivot-the-best-way-for-converting-columns-into-rows.html
答案 2 :(得分:1)
因为看起来有一个我一直在寻找的简单代码:
select n from (values (1),(2),(3)) D(c);