Здравствуйте, Sshur, Вы писали:
S>Здравствуйте, AC1D, Вы писали:
ACD>>Здравствуйте други
ACD>>простой вопрос под конец рабочего дня котелок не варит ..
ACD>>есть примерно такая таблица
ACD>> id , SumDepart1 , SumDepart2, SumDepart3
ACD>> нужно посчитать общую сумму всех департаментов на ID
ACD>> можно конечно сделать тупо select id,sum(sumdepart1+sumdepart2+sumdepart3) as Total from t1 group by id, но есть ли способ умнее?!?
ACD>> Db:Oracle
S>На MSSQL можно получить список всех колонок таблицы, написать скрипт который напишет динамический SQL, суммирующий колонки по определенному критерию. На Оракле скорее всего это тоже можно, но нафига? Ладно бы у вас было 100 колонок и в разных случаях надо было бы суммировать по разному. Для трех колонок ИМХО sum(sumdepart1+sumdepart2+sumdepart3) самое подходящее.
1. IMHO в общем случае более подходящее: ... sum(NVL(sumdepart1, 0) + NVL(sumdepart2, 0) + NVL(sumdepart3, 0)) ... (или как там NVL юзают).

2. Что будет если добавиться sumdepart4, потом sumdepart5, ..., sumdepart300? IMHO в общем случае лучше вынести sumdepart в отдельную таблицу...