#sql #sql-server
#sql #sql-server
Вопрос:
Я хотел бы сформировать SQL-запрос для достижения следующего:
У меня есть таблица со столбцами A и B среди прочих. Я хотел бы получить сумму для A и сумму для B (в соответствии с предложением WHERE, которое я указываю), наряду с различными другими значениями. Однако для B возможно содержать значения null. Я также хотел бы, чтобы возвращаемое через тот же запрос значение суммы A, для которого соответствующее значение B не равно null. Это единственное возвращаемое значение, на которое я хочу повлиять, независимо от того, равно B null или нет.
Итак, есть какие-либо предложения о том, как я могу этого добиться? Я работаю в SQL Server 2008.
Любая помощь очень ценится
Ответ №1:
SELECT SUM(A) AS SumA,
SUM(B) AS SumB,
SUM(CASE WHEN B IS NOT NULL THEN A END) As Foo, /*... Rest of Query*/
Комментарии:
1. Потрясающе, большое спасибо! Я приму этот ответ, как только stackoverflow позволит мне — кажется, что должно пройти определенное количество минут, прежде чем я смогу это сделать