Эй, ребята, мне нужна помощь с SQL ниже. Он продолжает давать мне один вывод для всех моих имен a.name:
SELECT Drink.name,
MAX(DECODE(Size.type, 'Small', avg, NULL)) Small,
MAX(DECODE(Size.type, 'Medium', avg, NULL)) Medium,
MAX(DECODE(Size.type, 'Large', avg, NULL)) Large
FROM Drink, Size (
SELECT avg(Size.price) avg, Size.type, Drink.name FROM Drink, Size
GROUP BY Size.type, Drink.name )
GROUP BY Drink.name
ORDER BY Drink.name;
РЕЗУЛЬТАТ: Например, я буду использовать название бренда напитка с типом маленький, средний, большой. Я хочу получить среднее значение всех напитков в магазинах по всему городу.
Без использования пивота
Drink | Size | Price
Dr. Pepper | Small | 1.00
Dr. Pepper | Medium | 1.50
Dr. Pepper | Large | 2.00
Использование pivot (желаемый вывод):
Drink | Small | Medium | Large
Dr. Pepper | 1.00 | 1.50 | 2.00
Mountain Dew | 0.50 | 0.75 | 1.25
Вывод, который я получаю:
Drink | Small | Medium | Large
Dr. Pepper | 1.00 | 1.00 | 1.00
Mountain Dew | 1.00 | 1.00 | 1.00