|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
Добрый день! Есть запрос вида: 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 рааа нажимать Ентер, чтоб запрос выгрузился) Подскажите плз, как правильно добавить несуществующие в таблице столбцы в запрос, чтобы они были пустыми, ну и чтоб не просили ввести для них значения после запуска запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 14:07 |
|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 14:22 |
|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
Чисто по вопросу: Код: sql 1. 2. 3. 4. 5.
Но есть пара замечаний. 1. HAVING выполняется после всех группировок и вычислений, и предназначена для применения к результатам вычислений (например HAVING COUNT([ARN]) > 2). Все остальные фильтры указываются в WHERE. Так запрос выполняется быстрее. 2. Если вы отбираете только [Квартал и год] = '3 кв. 2017', то не нужно группировать по [Квартал и год]. Так запрос выполняется быстрее. 3. В UNION запросе имена полей во 2-й и следующих секциях не важны. Поэтому: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 14:37 |
|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
__Michelle Код: sql 1. 2. 3. 4.
Здаётся мне, что так не взлетит. WHERE идет перед GROUP BY. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 14:41 |
|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
__Michelle Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Недосмотр. В первом запросе строки GROUP BY и WHERE нужно поменять местами. Сначала должна идти строка с WHERE. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 14:43 |
|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Спасибо.))) Уже заметила, внесла поправку. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 14:45 |
|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
Все, понял, через кавычки это делается) Спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 15:03 |
|
Как добавить новый столбец в запрос, но не из таблицы
|
|||
---|---|---|---|
#18+
Сергей2017Все, понял, через кавычки это делается Не всегда. В UNION тип и имена полей задаются 1-й секцией. Если во 2-й секции пустая строка указывается на месте числового поля - не пройдет. Для типов число и дата можно указывать 0. А лучше всего - везде указывать Null. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 15:58 |
|
|
start [/forum/topic.php?fid=45&fpage=71&tid=1612236]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 137ms |
0 / 0 |