2016-10-10 3 views
1

В настоящее время я немного борюсь с MySQL, пытаясь развернуть таблицу.Общие SQL/MySQL превращает строки в столбцы

упрощенная версия самой таблицы, вероятно, будет что-то вдоль линий:

dayName  amount 
--------------------- 
Monday   34 
Tuesday  3453 
...   ... 

В идеале я хотел бы быть в состоянии превратить каждый день в колонку и каждую сумму в качестве значения. Любое предложение сделать это чистым способом?

Спасибо!

+1

Будут ли ряды всегда иметь одинаковые значения? Например, всегда ли они дни недели? – CGritton

+0

Привет @DeadEnd - вам повезло с этим? – CGritton

ответ

1

Если ваши строки всегда дни недели, то вы можете использовать что-то вроде этого:

select 
sum(case when dayName = 'Monday' then amount end) as 'Monday', 
sum(case when dayName = 'Tuesday' then amount end) as 'Tuesday' 
. 
. 
. 
from DaysOfWeek; 

К сожалению, MySQL не имеет PIVOT функцию.

http://sqlfiddle.com/#!9/c1a11/6

+0

Используется для решения проблемы! Супер спасибо! – DeadEnd

Смежные вопросы