SQL Server 2008 R2 разбивает одну строку результатов на две строки - PullRequest
0 голосов
/ 05 августа 2020

Проще говоря, таблица (t1) выглядит так:

id     hours    dollars
-----------------------
abc     4         40

Я бы хотел получить результаты из таблицы, которая выглядит так:

abcHours      4      0
abcDollars    0      40

Спасибо

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Вы можете отменить сводку с помощью cross apply:

select x.*
from mytable t
cross apply (values 
    (concat(id, 'Hours'  ), hours, 0      ), 
    (concat(id, 'Dollars'), 0,     dollars)
) as x(newid, hours, dollars)
0 голосов
/ 06 августа 2020

Вы можете попробовать простой запрос, используя оператор Union:

Select  'abcHours' as  abcHour, hours as Hour, 0 as dollar
Union all
Select  'abcDollars', 0, dollars
...