Mic*_*vko 4 sql t-sql sql-server sql-server-2012
简单的问题,只是出于好奇.
例如select 1,2,3,将显示table与one column和three rows.
像这样的东西: select values(1),(2),(3)
*有一个选择声明
我在帖子中发表评论的一个例子.
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
Run Code Online (Sandbox Code Playgroud)
查询:
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)
Run Code Online (Sandbox Code Playgroud)
输出:
value
-----------
1
2
3
Run Code Online (Sandbox Code Playgroud)
附加信息:
http://blog.devart.com/is-unpivot-the-best-way-for-converting-columns-into-rows.html