Я пытаюсь найти сумму определенных значений в таблице, используя SQL. Примерная таблица:
+-------+-------+-------+-------+-------+-------+-------+
| ID | Co1 | Va1 | Co2 | Va2 | Co3 | Va3 |
+-------+-------+-------+-------+-------+-------+-------+
| 01 | AA1 | 23.0| AA2 | 11.2| AA3 | 328.34|
| 02 | AA2 | 27.0| AA3 | 234.56| AA4 | 23.8|
| 03 | AA1 | 409.01| AA4 | 234.98| NULL | NULL |
+-------+-------+-------+-------+-------+-------+-------+
У меня есть 35 таких столбцов и значений «Код».
Мне нужно выбрать таблицу, имеющую только один код. Скажем, мне нужен код AA3, это будет (столбец «Код» здесь не требуется, а только для того, чтобы показать, откуда я взял значения):
+-------+-------+--------+
| ID | Code | Value |
+-------+-------+--------+
| 01 | AA3 | 328.34|
| 02 | AA3 | 234.56|
| 03 | AA3 | 0|
+-------+-------+--------+
А позже мне понадобится другой (отдельный) запрос, содержащий сумму нескольких кодов, например сумму кодов AA1 и AA2 вместе.
+-------+---------+
| ID | Value |
+-------+---------+
| 01 | 34.2|
| 02 | 27.0|
| 03 | 409.01|
+-------+---------+
Я думал о том, чтобы иметь «ГДЕ» и запускать каждые 35 столбцов, но это было бы действительно утомительно и не кажется слишком эффективным. Мне было интересно, есть ли способ сделать это через SQL (я могу сделать это с помощью Excel с оператором if, и это творит чудеса).
Может быть, если бы был способ «поиска» по строке, вернуть имя столбца, а затем использовать это имя столбца для получения номера?
Дайте мне знать, если вам нужна дополнительная информация =)