LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Прошу помочь с ...
 Прошу помочь с SQL заросом. Два ответа в разных колонках одного запроса.
 
 30.10.2013 21:53:15
Bagirchik
2 сообщения


Прошу помочь с SQL заросом. Два ответа в разных колонках одного запроса.

Исходная таблица:
Numx IFx   Summx
1 True 10
1 True 20
2 False 15
2 True 40
3 False 50


В ответе нужно получить:
Numx SummAllx SumIFx
1 30 30
2 55 40
3 50 0


Вторая колонка ответа SummAllx это суммы колонки исходной таблицы Summx по группам из Numx. Сделать это просто:

    SELECT Numx, SUM(Summx) AS SummAllx
    FROM TestTabl
    GROUP BY Numx


В колонке SumIFx тоже итоги, но только те, у кого IFx = True. С этим тоже просто:

    SELECT Numx, SUM(Summx) AS SumIFx
    FROM TestTabl
    WHERE IFx = True
    GROUP BY Numx

А как сделать это одним запросом, чтобы получить сразу все три колонки? Пробовал объединять два запроса с помощью UNION. Штука полезная, но такой ответ сделать не получается. Посоветуйте хотя бы куда копать.

База данные MS Access, Пишу на VBA под Excel 2003

 31.10.2013 16:27:37
Admin1
731 сообщения
1-ый


Re: Прошу помочь с SQL заросом. Два ответа в разных колонках одного запроса.

Надо добавить поле-условие IIF. Примерно так. SELECT Numx, SUM(Summx) AS SummAllx, SUM(IIF(IFx=True),Summx,0) AS SumIFx FROM TestTabl GROUP BY Numx

 12.12.2013 15:20:06
Bagirchik
2 сообщения


Re: Прошу помочь с SQL заросом. Два ответа в разных колонках одного запроса.

Большое спасибо! Все получилось.

  Программирование  Microsoft Access. Файлы mdb и accdb  Прошу помочь с ...
ПоискПоиск  Список форумовСписок форумов  
right