Как получить такие данные? - PullRequest
0 голосов
/ 12 мая 2018

У меня есть данные примерно так:

+---------+---------+---------+-------+
| MAXIMUM | MINIMUM | SENSORS | TIME  |
+---------+---------+---------+-------+
|      10 |      12 |      14 | 13:12 |
|      80 |      70 |     100 | 14:54 |
+---------+---------+---------+-------+

Но мне нужно что-то вроде этого:

+---------+-------+
|    X    |   Y   |
+---------+-------+
| MAXIMUM | 10    |
| MINIMUM | 12    |
| SENSORS | 14    |
| TIME    | 13:12 |
| MAXIMUM | 80    |
| MINIMUM | 70    |
| SENSORS | 100   |
| TIME    | 14:54 |
+---------+-------+

Как получить такие данные, есть ли возможность получить данные

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Просто еще один вариант

* ** 1003 тысяча два * Пример
Select B.*
 From  YourTable
 Cross Apply (values ('MAXIMUM',convert(nvarchar(50),MAXIMUM))
                    ,('MINIMUM',convert(nvarchar(50),MINIMUM))
                    ,('SENSORS',SENSORS)
                    ,('TIME'   ,convert(nvarchar(50),[TIME],108))
             ) B(x,y)

Returns

x          y
MAXIMUM    10
MINIMUM    12
SENSORS    14
TIME       13:12:00
MAXIMUM    80
MINIMUM    70
SENSORS    100
TIME       14:54:00
0 голосов
/ 12 мая 2018

Вы можете использовать UNPIVOT:

declare @tmp table (MAXIMUM  nvarchar(10), MINIMUM  nvarchar(10), SENSORS   nvarchar(10), [TIME] nvarchar(10))
insert into @tmp select    10,12,14 ,'13:12'
insert into @tmp select    80,70,100,'14:54'

select u.x,u.y
from @tmp s 
unpivot 
( 
[y] 
for [x] in ([MAXIMUM],[MINIMUM],[SENSORS],[TIME]) 
) u;

Результаты:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...