你能帮我吗,我正试图使用UNPIVOT
将列移动到行中,但我需要它,它对我来说效果不好。我还需要在行中显示列名,而不仅仅是值。
WITH ENCUESTA1
AS (
SELECT
Cod as 'Codigo'
,Wifi as 'Wifi'
,EntreTvCable as 'Cable'
FROM epha_rooms
)
SELECT Codigo, Pregunta
FROM ENCUESTA1
UNPIVOT
(
Pregunta for col in ([Wifi], [Cable])
)un;
结果:
Codigo Pregunta
---------------------
20 10
20 -7
21 10
21 4
22 10
22 10
23 10
我需要得到这个结果:
Codigo Pregunta Value
-------------------------------
20 Wifi 10
20 Cable -7
21 Wifi 10
21 Cable 4
22 Wifi 10
22 Cable 10
23 Wifi 10
SQL Server没有安装在我的计算机上,但基于此文档,我希望下面的代码能帮助您。
WITH ENCUESTA1
AS (
SELECT
Cod as 'Codigo'
,Wifi as 'Wifi'
,EntreTvCable as 'Cable'
FROM epha_rooms
)
SELECT Codigo, Pregunta, Value
FROM ENCUESTA1
UNPIVOT
(
Value for Pregunta in ([Wifi], [Cable])
) un;