Задать вопрос
@ewb

Как с помощью sql создать сводную таблицу в mysql? (pivot table mysql)?

Здравствуйте!
MySQL
Например у нас есть таблица:

[ид_товара | ид_цены | цена] -> (Схема таблицы)

(Данные)
товар1 | цена1 | 100
товар1 | цена2 | 50
товар1 | цена3 | 130

товар2 | цена1 | 300
товар2 | цена2 | 70
товар2 | цена3 | 100

Как только с помощью sql вывести такой результат:
[ид_товара | ид_цена1 | ид_цена2 | ид_цена3 ] -> схема

данные
товар1 | 100 | 50 | 130
товар2 | 300 | 70 | 100

То есть получается вертикальное расположение данных надо перенести в горизонтальное (это я так себе представляю).

Так как насколько далось узнать в MsSQL есть уже встроенная фича для этого pivot table.
  • Вопрос задан
  • 6039 просмотров
Подписаться 2 Оценить Комментировать
Решение пользователя mgyk К ответам на вопрос (2)
mgyk
@mgyk
Можно так, соотвественно для каждой колонки нужно добавить отдельный IF
select item, 
SUM(IF(price_id = 'price1', price, 0))  as price1, 
SUM(IF(price_id = 'price2', price, 0)) as price2 
FROM pivot_sample GROUP BY item;


sqlfiddle.com/#!2/d2367/1/0
Ответ написан