Создал 4 столбца с помощью команды as, теперь нужно добавить все 4 столбца

Я ссылаюсь на довольно сложную базу данных в Excel, используя SQL. Существует одна таблица с 4 строками на экземпляр, и мне удалось сделать их 4 столбцами на одном экземпляре в моей таблице Excel, используя:

Макс (случай, когда (table1.column1 = 'a') Тогда table1.column2, иначе 0 End) как [A],

Макс (случай, когда (table1.column1 = 'b') Тогда table1.column2, иначе 0 End) как [B],

Макс (случай, когда (table1.column1 = 'c') Тогда table1.column2, иначе 0 End) как [C],

Макс (случай, когда (table1.column1 = 'd') Тогда table1.column2, иначе 0 End) как [D]

в части кода SELECT.

Теперь мне нужно добавить значения из всех 4-х созданных столбцов в 5-й столбец, на который я могу ссылаться, но я продолжаю сталкиваться с проблемами. Первоначально я просто попытался Total = 'A' + 'B' + 'C' + 'D' Но это просто дало мне текстовый столбец с "ABCD" в каждой строке вместо добавления значений в столбцах. Я проверил значения в созданных столбцах числа.

Я в основном ищу способ использовать имена столбцов, созданные с помощью команды AS в других столбцах как часть формулы.

2 ответа

Два способа, короткий и длинный.

Короткий:

SUM(table.column2) as 5thElement

Длинный

Max( case when(table1.column1 = 'a') Then table1.column2 Else 0 End) +
Max( case when(table1.column1 = 'b') Then table1.column2 Else 0 End) +
Max( case when(table1.column1 = 'c') Then table1.column2 Else 0 End) +
Max( case when(table1.column1 = 'd') Then table1.column2 Else 0 End)

Удачи!

Неважно, я понял это...

Итого = (Макс (случай, когда (table1.column1 = 'a') Тогда table1.column2, иначе конец 0)) + (Макс (случай, когда (table1.column1 = 'b') Тогда table1.column2, еще конец 0)) + (Макс. (Случай, когда (table1.column1 = 'c') Затем table1.column2, иначе конец 0)) + (Макс (случай, когда (table1.column1 = 'd'), затем table1.column2, еще конец 0))

Мне просто пришлось удалить 4 команды AS с именами новых столбцов, так как на самом деле я не пытаюсь включить имена столбцов в уравнение. Спасибо за помощь ребята!

Другие вопросы по тегам