получить форматированный вывод - PullRequest
0 голосов
/ 29 января 2010

Имея данные как показано ниже

ItemCode    SalesPrice  PricingLevel
ITEM-000001 451.000000  Barons
ITEM-000001 432.000000  Guild

Есть ли способ получить следующий вывод:

ItemCode      Barons     Guild
ITEM-000001   451        432

Ответы [ 2 ]

1 голос
/ 29 января 2010
SELECT ItemCode, 
Sum(Case when PricingLevel = 'Barons' Then SalesPrice else 0 end) as Barons,
Sum(Case when PricingLevel = 'Guild' Then SalesPrice else 0 end) as Guild
FROM myTable
GROUP BY ItemCode
0 голосов
/ 29 января 2010

Просто попробуйте это (примечание: поскольку я не знаю название вашей таблицы, я назвал его "Предметы"):

SELECT DISTINCT I1.ItemCode, 
       (SELECT SalesPrice FROM Items I2 WHERE I2.ItemCode = I1.ItemCode AND I2.PricingLevel = 'Barons') Barons,
       (SELECT SalesPrice FROM Items I3 WHERE I3.ItemCode = I1.ItemCode AND I3.PricingLevel = 'Guild') Guild
FROM Items I1

Чтобы не отображать десятичные нули, используйте следующее:

SELECT DISTINCT I1.ItemCode, 
       (SELECT CAST(SalesPrice AS DECIMAL(10,0)) FROM Items I2 WHERE I2.ItemCode = I1.ItemCode AND I2.PricingLevel = 'Barons') Barons,
       (SELECT CAST(SalesPrice AS DECIMAL(10,0)) FROM Items I3 WHERE I3.ItemCode = I1.ItemCode AND I3.PricingLevel = 'Guild') Guild
FROM Items I1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...