Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
310 / 10 / 1
Регистрация: 09.10.2012
Сообщений: 50
1

Два ответа в разных колонках одного запроса

30.10.2013, 22:11. Просмотров 588. Ответов 4
Метки нет (Все метки)


Прошу помочь с SQL запросом.

Исходная таблица:

NumxIFxSummx
1True10
1True20
2False15
2True40
3False50
В ответе нужно получить:

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

SQL
1
2
3
    SELECT Numx, SUM(Summx) AS SummAllx
    FROM TestTabl
    GROUP BY Numx
В колонке SumIFx тоже итоги, но только те, у кого IFx = True. С этим тоже просто:

SQL
1
2
3
4
    SELECT Numx, SUM(Summx) AS SumIFx
    FROM TestTabl
    WHERE IFx = TRUE
    GROUP BY Numx
А как сделать это одним запросом, чтобы получить сразу все три колонки? Пробовал объединять два запроса с помощью UNION. Штука полезная, но такой ответ сделать не получается. Посоветуйте хотя бы куда копать.

База данные MS Access, Пишу на VBA под Excel 2003
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2013, 22:11
Ответы с готовыми решениями:

Два способа решения - два разных ответа
почему-то два разных способа решения задачи приводят к двум разным ответам. Задача такова: ...

Вывод одного ответа из разных значений и сохранение их в строке
В общем - пытаюсь заставить программу понимать что ей написали, и выдавать некий ответ на...

Из одного запроса кучу разных вариантов данных
Здравствуйте. Подскажите, пожалуйста. Есть запрос, результатом которого куча разных столбцов:...

Как объединить два запроса с разных таблиц в один?
как объединить два запроса с разных таблицы в один сейчас есть вот такой запрос с выводом в...

4
Эксперт MS Access
26599 / 14297 / 3164
Регистрация: 28.04.2012
Сообщений: 15,685
30.10.2013, 22:25 2
SQL
1
2
3
SELECT Numx, SUM(Summx) AS SummAllx, -SUM(Summx*IFx) AS SumIFx
FROM TestTabl
GROUP BY Numx
1
310 / 10 / 1
Регистрация: 09.10.2012
Сообщений: 50
30.10.2013, 22:40  [ТС] 3
Спасибо большое за ответ!
Сам попался на свой пример True и False (1 и 0) я привел в качестве примера, чтобы не отвлекать внимание подробностями своей задачи, а вы придумали как легко это использовать )) Но однозначно способ в копилку. Мне подсказали как решить задачу с использованием IIF
0
Эксперт MS Access
26599 / 14297 / 3164
Регистрация: 28.04.2012
Сообщений: 15,685
30.10.2013, 22:58 4
Совершенно необязательно, чтобы поле условия было логическим. Для использования в показанной конструкции, важно чтобы условие было логическим. Показанный метод легко обобщается на разнообразные условия. Например, для случая равенства 2 полей: SUM(Summx*(Поле1=Поле2))
2
310 / 10 / 1
Регистрация: 09.10.2012
Сообщений: 50
30.10.2013, 23:03  [ТС] 5
Я как то вообще ранее не использовал способ умножения на условие. А ведь как удобно!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2013, 23:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Два разных обработчика для одного события
Пишу тренажер таблицы умножения. На форме: label с заданием, textbox для ответа, одна кнопка, но...

Почему у одного выражения два разных результата
Добрый день всем. С Maple совсем не знаком, поэтому вопрос может показаться глупым. Все время...

Почему вместо одного запроса выполняется два
public string Get(string url, CookieContainer cookieCollection=null, bool Redirect = true) {...

Можно ли иметь два разных style для одного стиля на одной странице?
На странице два div, я хочу, чтоб в одном было <style> p{text-align:justify; text-indent: 0px;}...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.