Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как использовать Case и Group by в одном запросе / 3 сообщений из 3, страница 1 из 1
31.03.2011, 11:25
    #37191926
alexreyss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать Case и Group by в одном запросе
Есть запрос:
SELECT ALEX.SPHOUSE.STREET, ALEX.SPHOUSE.NUMBERH, SUM(coalesce(ALEX.SPFACENM.HOWPEOPL,0)) as [Проживает], SUM(coalesce(ALEX.SPFACENM.PROPIS,0)) as [Прописано], SUM(coalesce(ALEX.SPFACENM.OB_PL,0)) as [Общая площадь],
SUM(coalesce(ALEX.SPFACENM.GIL_PL,0)) as [Жилая площадь], SUM(coalesce(ALEX.SPFACENM.STRAH_PL,0)) as [Страховая площадь], SUM(coalesce(ALEX.SPFACENM.SCH_V,0)) as [Счетчик хол.воды], SUM(coalesce(ALEX.SPFACENM.SCH_G,0)) as [Счетчик гор.воды], SUM(coalesce(ALEX.SPFACENM.OTOP_PL,0)) as [Отапл.площадь],
FROM ALEX.SPFACENM INNER JOIN
ALEX.SPHOUSE ON ALEX.SPFACENM.ID_HOUSE = ALEX.SPHOUSE.ID_HOUSE
WHERE (ALEX.SPFACENM.ID_UPRCO = 14) AND (ALEX.SPFACENM.OPENED = 1)
group by ALEX.SPHOUSE.STREET, ALEX.SPHOUSE.NUMBERH

Надо в SELECT использовать CASE:
CASE
WHEN ALEX.SPFACENM.ID_GIL=1 THEN SUM(ALEX.SPFACENM.ID_GIL)
END as [Соцнайм]

То есть посчитать сумму ID_GIL, когда оно равно 1.

Но так как есть group by, то оно ругается, говорит что там ему не хватает агрегатных функций. Как сделать, чтобы это работало??? Спасибо!
...
Рейтинг: 0 / 0
31.03.2011, 11:45
    #37191964
Как использовать Case и Group by в одном запросе
Не в тот форум, но отвечу :-)
пишите
Код: plaintext
1.
2.
3.
SUM(CASE
	WHEN ALEX.SPFACENM.ID_GIL= 1  THEN ALEX.SPFACENM.ID_GIL
	ELSE  0 
END) AS [Соцнайм]
...
Рейтинг: 0 / 0
01.04.2011, 09:50
    #37193674
alexreyss
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать Case и Group by в одном запросе
да, перепутала тему форума( просто прошлое сообщение писала здесь)

Большое спасибо за ответ, все работает! Вы гений!
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Как использовать Case и Group by в одном запросе / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]