powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как добавить новый столбец в запрос, но не из таблицы
8 сообщений из 8, страница 1 из 1
Как добавить новый столбец в запрос, но не из таблицы
    #39495299
Сергей2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть запрос вида:

SELECT [Страна эмитента], COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], [Тип мошенничества]
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
GROUP BY [Страна эмитента], [Тип мошенничества], [Квартал и год]
HAVING [Квартал и год] = '3 кв. 2017'

Хочу в конце строки добавить строчку что то типа "Итого", чтобы считалась общее количество и сумма всего выходящего, делаю

SELECT [Страна эмитента], COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], [Тип мошенничества]
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
GROUP BY [Страна эмитента], [Тип мошенничества], [Квартал и год]
HAVING [Квартал и год] = '3 кв. 2017'
union all
SELECT [Всего], COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], [Всего1]
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
GROUP BY [Квартал и год], [Всего]
HAVING [Квартал и год] = '3 кв. 2017'

Так вот проблема в чем - столбца [Всего] и [Всего1] в базе нет, если их убрать - ругается, что не совпадает количество столбцов с объединенное таблицей, а если оставляю [Всего] и [Всего1] - то при запросе просит ввести значение. Можно конечно ничего не вводить, но не комильфо 2 рааа нажимать Ентер, чтоб запрос выгрузился)
Подскажите плз, как правильно добавить несуществующие в таблице столбцы в запрос, чтобы они были пустыми, ну и чтоб не просили ввести для них значения после запуска запроса?
...
Рейтинг: 0 / 0
Как добавить новый столбец в запрос, но не из таблицы
    #39495315
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT [Страна эмитента], COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], [Тип мошенничества]
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
GROUP BY [Страна эмитента], [Тип мошенничества]
WHERE [Квартал и год] = '3 кв. 2017'
UNION ALL
SELECT "Все страны", COUNT([ARN]), SUM([Сумма]), "Все виды мошенничества"
FROM [Основная база (Уведомления о мошенничестве в ТСП)]]
WHERE [Квартал и год] = '3 кв. 2017'
...
Рейтинг: 0 / 0
Как добавить новый столбец в запрос, но не из таблицы
    #39495323
Чисто по вопросу:
Код: sql
1.
2.
3.
4.
5.
union all
SELECT ' ' As [Всего], COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], ' ' As [Всего1]
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
GROUP BY [Квартал и год],  [Всего]
HAVING [Квартал и год] = '3 кв. 2017'


Но есть пара замечаний.
1. HAVING выполняется после всех группировок и вычислений, и предназначена для применения к результатам вычислений (например HAVING COUNT([ARN]) > 2). Все остальные фильтры указываются в WHERE. Так запрос выполняется быстрее.
2. Если вы отбираете только [Квартал и год] = '3 кв. 2017', то не нужно группировать по [Квартал и год]. Так запрос выполняется быстрее.
3. В UNION запросе имена полей во 2-й и следующих секциях не важны.
Поэтому:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT [Страна эмитента], COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], [Тип мошенничества]
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
WHERE [Квартал и год] = '3 кв. 2017'
GROUP BY [Страна эмитента], [Тип мошенничества]
union all
SELECT 'ВСЕГО:', COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], ' '
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
WHERE [Квартал и год] = '3 кв. 2017'
...
Рейтинг: 0 / 0
Как добавить новый столбец в запрос, но не из таблицы
    #39495325
__Michelle
Код: sql
1.
2.
3.
4.
...
FROM ...
GROUP BY ...
WHERE ...

Здаётся мне, что так не взлетит. WHERE идет перед GROUP BY.
...
Рейтинг: 0 / 0
Как добавить новый столбец в запрос, но не из таблицы
    #39495327
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT [Страна эмитента], COUNT([ARN]) as [Количество], SUM([Сумма]) as [Cумма], [Тип мошенничества]
FROM [Основная база (Уведомления о мошенничестве в ТСП)]
GROUP BY [Страна эмитента], [Тип мошенничества]
WHERE [Квартал и год] = '3 кв. 2017'
UNION ALL
SELECT "Все страны", COUNT([ARN]), SUM([Сумма]), "Все виды мошенничества"
FROM [Основная база (Уведомления о мошенничестве в ТСП)]]
WHERE [Квартал и год] = '3 кв. 2017'

Недосмотр.
В первом запросе строки GROUP BY и WHERE нужно поменять местами.
Сначала должна идти строка с WHERE.
...
Рейтинг: 0 / 0
Как добавить новый столбец в запрос, но не из таблицы
    #39495328
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),

Спасибо.)))
Уже заметила, внесла поправку.
...
Рейтинг: 0 / 0
Как добавить новый столбец в запрос, но не из таблицы
    #39495342
Сергей2017
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, понял, через кавычки это делается)
Спасибо)
...
Рейтинг: 0 / 0
Как добавить новый столбец в запрос, но не из таблицы
    #39495390
Сергей2017Все, понял, через кавычки это делается Не всегда. В UNION тип и имена полей задаются 1-й секцией. Если во 2-й секции пустая строка указывается на месте числового поля - не пройдет. Для типов число и дата можно указывать 0. А лучше всего - везде указывать Null.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как добавить новый столбец в запрос, но не из таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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