powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Суммирование в запросе
72 сообщений из 72, показаны все 3 страниц
Суммирование в запросе
    #32246744
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть UNION запрос. Нужно, что бы в последней строке этого запроса выводилась сумма соответствующих столбцов. Как это сделать?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246752
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
select число1,число2 from Query
union
select sum(число1) as a, sum(число2) as b from Query

где Query - твой union запрос.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246754
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хахаха
а я все голову ломал че в FROM писать
Спасибо
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246755
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хахаха
а я все голову ломал че в FROM писать
Спасибо
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246759
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT [КА+], [КА-],  [От А+], [От А-], [K+], [K-], [Б+],  [Б-],[ 62 +],  [ 62 -], [ 61 +], [ 61 -],  [T+], [T-],  [Рз+],  [Рз-]
FROM дела
UNION ALL 
SELECT Sum([КА+]) as a, Sum([КА-]) as b,Sum([От А+]) as q , 
sum([От А-]) as w, sum([K+]) as e, sum([K-]) as r, sum([Б+]) as t, sum([Б-]) as y, 
sum([ 62 +]) as u, sum([ 62 -]) as i, sum([ 61 +]) as o, sum([ 61 -]) as p, sum([T+]) as s, sum([T-]) as d, sum([Рз+]) as f, sum([Рз-]) as g
FROM дела;


Ошибка: выражение не верно введено или является слишком сложным для рсчета
2)
Возможно ли не делать это отдельным запросом, а сразу сделать в основном UNION запросе?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246763
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
SELECT [КА+]
FROM дела
UNION 
SELECT Sum([КА+]) as a
FROM дела;


Ошибка та же
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246764
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй запустить вторую половину без первой.
(т.е. все после union).
если напишет тоже самое, попробуй добавить перед всеми полями
дела.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246766
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
SELECT Sum(дела.[КА+]) AS a
FROM Проводки;


Ошибка та же
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246768
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проводки = дела
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246771
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет уж попробуй
SELECT Sum(дела.[КА+]) AS a
FROM дела;
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246776
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не работает
Таже ошибка :((
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246778
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а Дела сам-то работает?
если да, то попробуй
select * from дела
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246780
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это-то работает, но где тут сумма? :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246784
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут нет суммы, это так для проверки.
а поля у тебя числовые?
и насколько сложный union. может и вправду неподъемный?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246785
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, а ты где пишешь это,
в конструкторе или в проге?
попробуй создать одну сумму в конструкторе запросов.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246787
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Union сложный... очень сложный - 10 таблиц
Может есть аналоги Sum для таких ситуаций???
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246789
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй создать одну сумму в конструкторе запросов
Никакие извращения не прокатывают
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246790
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем вообще эта сумма.
слепи формочку или отчет и там ее считай и показывай.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246794
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По больному месту бьешь :)
Я с этого начал.
Дело в том, что даже в форме не посчитать!
Sum([Имя поля]) = #Ошибка
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246797
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда попробуй разбить union на два.
а вообще предлагаю оставить до утра.
на свежую голову может чего и придумаю.
все, побег домой.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246799
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все мы до 19.00
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246815
Мимо пробегал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой акес?
Сообщение типично для 2-го. В 97 все исчисляется. (Если типы полей правильные)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32246866
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аксес 2000
Дело вот в чем:
Union сложный... очень сложный - 10 таблиц
Может есть аналоги Sum для таких ситуаций???
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247058
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вернулся :)
как результаты по моему посту от 19:01?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247067
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убрал из юнион все таблицы и оставил только одну. Далее сделал влт что:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT Bill_arrival.[Реф №], Bill_arrival.Наименование, Bill_arrival.Дата1,
 Bill_arrival.Дата2, Bill_arrival.Эквивалент1 AS [КА+], Bill_arrival.Эквивалент2 AS [КА-],  "" AS [От А+],
 "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +],
 " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Bill_arrival
WHERE (((Bill_arrival.[Реф №])=[forms]![заказ]![ref]))
UNION all
SELECT "  ","  ", "  "," ", sum([КА+]) as a, sum([КА-]) as q, sum([От А+]) as w,
 sum([От А-]) as e,  sum([K+]) as r, sum([K-]) as y,sum([Б+]) as t, 
sum([Б-]) as u, sum([ 62 +]) as i, sum([ 62 -]) as o, sum([ 61 +]) as p, 
 sum([ 61 -]) as s,  sum([T+]) as d,  sum([T-]) as f,  sum([Рз+]) as g,  sum([Рз-]) as h
FROM проводки


Ошибка та же
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247072
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По ходу дела тут проблема в том, что слишком много полей...
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247074
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
SELECT Bill_arrival.[Реф №], Bill_arrival.Наименование, Bill_arrival.Дата1, Bill_arrival.Дата2, Bill_arrival.Эквивалент1 AS [КА+], Bill_arrival.Эквивалент2 AS [КА-]
FROM Bill_arrival
WHERE (((Bill_arrival.[Реф №])=[forms]![заказ]![ref]))
UNION ALL SELECT  "","  ", "  "," ", sum([КА+]) as a, sum([КА-]) as q
FROM проводки;


такой вариант тоже не катит
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247085
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
Типа у тебя должны быть эти таблицы (вчера отсылал). Сам можешь убедиться :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247089
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А все оказалось проще...
Надо просто в FROM указать не "проводки", а ссылки на все таблицы в запросе UNION
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247113
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чего-то я в вас запутался.
art_m и Vsevolod V - одно лицо что ли?
или как ?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247117
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Надо просто в FROM указать не "проводки", а ссылки на все таблицы в
>запросе UNION
в каком?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247132
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1

art_m и Vsevolod V - одно лицо что ли?
Он мне помогает...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
UNION ALL SELECT Realization.[Реф №], Realization.Наименование, Realization.Дата1, Realization.Дата2,  "" AS [КА+], "  " AS [КА-], "  " AS [От А+], 
"  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +],
 " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], round(Realization.Эквивалент1, 2 ) AS [Рз+], round(Realization.Эквивалент2,  2 ) AS [Рз-]
FROM Realization
WHERE (((Realization.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT " ","  ","  "," ", sum(Bill_arrival.Эквивалент1), sum(Bill_arrival.Эквивалент2), 
sum(Bill_charge.Эквивалент1), sum(Bill_charge.Эквивалент2),
  sum(Cash.Эквивалент1), sum(Cash.Эквивалент2), sum(Bank.Эквивалент1), 
sum(Bank.Эквивалент2), sum(Зад_потр.Эквивалент1), sum(Зад_потр.Эквивалент2), sum(Зад_пост.Эквивалент1), 
 sum(Зад_пост.Эквивалент2),  sum(sklad.Эквивалент1),
  sum(sklad.Эквивалент2),  sum(Realization.Эквивалент1), 
 sum(Realization.Эквивалент2)
FROM Bill_arrival, bill_charge,Cash, Bank,  Зад_потр, Зад_пост,  sklad, Realization
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247137
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут теперь другая проблема...
Мне здесь нужно написать условие WHERE
типа (((Realization.[Реф №])=[forms]![заказ]![ref])) и так для всех таблиц
Но не в каждой таблице есть этот "Реф", т.е. AND не подходит :(
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247148
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мне здесь нужно написать условие WHERE
где здесь?
у тебя же написано вроде (см. предыдущий пост).
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247156
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь нужно что-то вроде того:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
WHERE  (((Bill_arrival.[Реф №])=[forms]![заказ]![ref]))
  and  (((Bill_charge.[Реф №])=[forms]![заказ]![ref]))
 and (((Cash.[Реф №])=[forms]![заказ]![ref]))
 and (((Bank.[Реф №])=[forms]![заказ]![ref]))
 and  (((Зад_потр.[Реф №])=[forms]![заказ]![ref]))
 and (((Зад_пост.[Реф №])=[forms]![заказ]![ref]))
 and (((sklad.[Реф №])=[forms]![заказ]![ref]))
 and (((Realization.[Реф №])=[forms]![заказ]![ref]))


Я это уже спрашивал здесь. Только что нашел. Буду делать по такому принципу:
Код: plaintext
1.
2.
3.
WHERE (((Клиенты.Клиент) Like  "*"  & [Forms]![Форма]![Клиент] &  "*"  
Or [Forms]![Форма]![Клиент] Is Null)
 AND ((Клиенты.Дата)=[Forms]![Форма]![Дата] 
Or [Forms]![Форма]![Дата] Is Null));


Правда очень длинно получится :(
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247158
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я наверное не понятно изъясняюсь :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247185
Мимо пробегал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так бы сразу и говорил, что "дела" на самом деле не табла, а тоже запрос. При юзании "иерархии" запросов рано или поздно возникает ситуевина, когда Акес не справляется с интерпретацией "оконечного" выражения. Первое, с чего надо начинать - выбросить все лишнее из группировочных запросов (Поля предложения GROUP BY, - дело в том, что в акесах были ограничения на максимальный суммарный размер полей группировки, с версией эти размеры ограничений подрастали) (тут помогает иногда способ, когда действительно необходимое для группировки пишется в одном запросе, а расшифровки подцепляются снаружи, если возможно - например группировка проводилась по join с мастер-таблицей, в т.ч. и с группировкой по полям мастера - тогда выбросить таблицу-мастер из группировки, группировать только связанные, но и по полю вторичного ключа, поля из мастера подключать после группировки), переместить все возможные поля из предложений Having в WHERE. ИНОГДА помогает перенос сложных расчетов из непосредственно SQL в ф-ии... Ну и т.п.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247187
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нихрена не понял :)
но главное, чтобы понимал ты.
по поводу
>WHERE (((Клиенты.Клиент) Like "*" & [Forms]![Форма]![Клиент] & "*"
>Or [Forms]![Форма]![Клиент] Is Null)
короче так:
Код: plaintext
WHERE (((Клиенты.Клиент) Like nz([Forms]![Форма]![Клиент], "*" )


а зачем у тебя с двух сторон от клиента *?
ты ищещь по неполному совпадению?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247211
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем у тебя с двух сторон от клиента *?
У меня вот так:
(Bill_arrival.[Реф №] = [forms]![заказ]![ref] Or Bill_arrival.[Реф №] Is Null)

Тут теперь другая проблема:
Он неправильно сумму считает: допустим сумма в первом столбце должна быть 2, а запрос умножает ее на кол-во столбцов... :(((
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247230
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Тут теперь другая проблема:
похоже на твое жизненное кредо (шутка, без обид)

>Он неправильно сумму считает: допустим сумма в первом столбце должна
>быть 2, а запрос умножает ее на кол-во столбцов... :(((
так а чего ты хотел.
выражение типа
from tab1,tab2
дает на выходе произведение таблиц (не помню как по умному называется :),
т.е. ты получаешь кол-во _записей_tab1*число_записей_tab2.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247232
art_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, если вычислять сумму только для двух столбцов, то в столбце первой суммы вместо 2-х пишется 4
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247233
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скажи лучше чего хочешь добиться.
может можно по-другому.
(если уже говорил, напомни :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247235
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто ж знал
И что тут теперь делать
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247240
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
давай я тебе на мыло скину :)
Там сразу все поймешь...
Это то, что мы вчера с тобой мучали, только так как надо :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247243
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кидай только запрос (или чего там еще)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247247
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лови :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247248
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
черт не то скинул :)
Лови еще раз
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247267
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видать на лошадях везут
ждемс.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247288
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если еще не пришло, то зайди в pi3dec3@mail.ru, пароль: qw
там единственное письмо - это оно ::)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247297
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поймал.
посмотрел.
работать не будет.
напомни ка, зачем последняя строка нужна (та что с суммами)?
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247304
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
Ну как бы это сказать :)
Типа чтобы сумму смотреть
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247311
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дак ведь должны же быть варианты запихать туда сумму...
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247325
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еб... бл... ##%$# мать мать мать.
(типа эмоции)
ты глянь чего написал-то!!!!!!
сначала пишешь "" as [KA+]
а потом хочешь их сложить.
как по твоему Ас должен сложить 741 с ""??????????
Напиши везде 0 as ... (для полей которые надо потом сложить)
и вернись к первому варианту:
union отдельно, потом union от него с суммой.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247333
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут проблема еще и в том, что он не может посчитать эту сумма и на форме тоже (об этом уже писали).

Sum([Имя поля]) = #Ошибка
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247337
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас попробую
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247338
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то даже не знаю стоит ли делать это?!
Типа таблица будет вся ноликами забита, а это ж..па :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247348
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с ноликами все равно не считает...
Точнее считает так же :)
Дак и вообще какая разница:
Аксесс будет складывать 741 с NULL
вроде бы :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247349
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда в суммах напиши:
sum(iif([...]="");0;[...])
и наслаждайся
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247357
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sasha_1
честно говоря, я предполагал, что именно этим все и кончится :)
Это беда! Столько писанины
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247360
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sum(iif([Bill_arrival.Эквивалент1]=""),0,[Bill_arrival.Эквивалент1])
Не верное число аргументов в выражении запроса
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247370
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и вообще что-то мы не в том направлении двигаемся:
sum(iif([Bill_arrival.Эквивалент1] is NULL,0,[Bill_arrival.Эквивалент1]))
Ничего не изменилось

Или:
sum(iif([Bill_arrival.Эквивалент1] = "",0,[Bill_arrival.Эквивалент1]))
Выражение слишко сложно для расчета и т.д.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247373
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ничего не изменилось", т.е. в столбце 1-ой суммы должно быть 2, а стоит 192
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247380
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лень матушка:
это твои Проводки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
SELECT Bill_arrival.[Реф №], Bill_arrival.Наименование, Bill_arrival.Дата1, Bill_arrival.Дата2, round(Bill_arrival.Эквивалент1,  2 ) AS [КА+], round(Bill_arrival.Эквивалент2,  2 ) AS [КА-],  "" AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Bill_arrival
WHERE (((Bill_arrival.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Bill_charge.[Реф №], Bill_charge.Наименование, Bill_charge.Дата1, Bill_charge.Дата2, "  " AS [КА+], "  " AS [КА-], round(Bill_charge.Эквивалент1, 2 ) AS [От А+],round(Bill_charge.Эквивалент2,  2 ) AS [От А-], " " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Bill_charge
WHERE (((Bill_charge.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Cash.[Реф №], Cash.Наименование, Cash.Дата, "  " AS дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], round(Cash.Эквивалент1, 2 ) AS [K+], round(Cash.Эквивалент2,  2 ) AS [K-], " " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Cash
WHERE (((Cash.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Зад_потр.[Реф №], Зад_потр.Наименование, Зад_потр.Дата1, Зад_потр.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], round(Зад_потр.Эквивалент1, 2 ) AS [ 62 +], round(Зад_потр.Эквивалент2,  2 ) AS [ 62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Зад_потр
WHERE (((Зад_потр.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Зад_пост.[Реф №], Зад_пост.Наименование, Зад_пост.Дата1, Зад_пост.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], round(Зад_пост.Эквивалент1,  2 ) AS [ 61 +], round(Зад_пост.Эквивалент2,  2 ) AS [ 61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Зад_пост
WHERE (((Зад_пост.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT sklad.[Реф №], sklad.Наименование, sklad.Дата1, sklad.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], round(sklad.Эквивалент1,  2 ) AS [T+], round(sklad.Эквивалент2,  2 ) AS [T-], " " AS [Рз+], "  " AS [Рз-]
FROM sklad
WHERE (((sklad.[Реф №])=[forms]![заказ]![ref]))
UNION ALL SELECT Realization.[Реф №], Realization.Наименование, Realization.Дата1, Realization.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], " " AS [T-], round(Realization.Эквивалент1,  2 ) AS [Рз+], round(Realization.Эквивалент2,  2 ) AS [Рз-]
FROM Realization
WHERE (((Realization.[Реф №])=[forms]![заказ]![ref]));


а это твой окончательный запрос

Код: plaintext
1.
2.
3.
4.
SELECT Проводки.[Реф №], Проводки.Наименование, Проводки.Дата1, Проводки.Дата2, Проводки.[КА+], Проводки.[КА-], Проводки.[От А+], Проводки.[От А-], Проводки.[K+], Проводки.[K-], Проводки.[Б+], Проводки.[Б-], Проводки.[ 62 +], Проводки.[ 62 -], Проводки.[ 61 +], Проводки.[ 61 -], Проводки.[T+], Проводки.[T-], Проводки.[Рз+], Проводки.[Рз-]
FROM Проводки 
union all
SELECT  "" as q, "  " as w,"  " as e,"  " as r, Sum(IIf([КА+]="  ",0 ,[КА+])) AS Выражение1,Sum(IIf([КА-]=" ",0 ,[КА-])) AS Выражение2,Sum(IIf([От А+]=" ",0 ,[От А+])) AS Выражение3,Sum(IIf([От А-]=" ",0 ,[От А-])) AS Выражение4,Sum(IIf([K+]=" ",0 ,[K+])) AS Выражение5,Sum(IIf([K-]=" ",0 ,[K-])) AS Выражение6,Sum(IIf([Б+]=" ",0 ,[Б+])) AS Выражение7,Sum(IIf([Б-]=" ",0 ,[Б-])) AS Выражение8,Sum(IIf([ 62 +]=" ",0 ,[ 62 +])) AS Выражение9,Sum(IIf([ 62 -]=" ",0 ,[ 62 -])) AS Выражение10,Sum(IIf([ 61 +]=" ",0 ,[ 61 +])) AS Выражение11,Sum(IIf([ 61 -]=" ",0 ,[ 61 -])) AS Выражение12,Sum(IIf([T+]=" ",0 ,[T+])) AS Выражение13,Sum(IIf([T-]=" ",0 ,[T-])) AS Выражение14, Sum(IIf([Рз+]=" ",0 ,[Рз+])) AS Выражение15,Sum(IIf([Рз-]="", 0 ,[Рз-])) AS Выражение16
FROM Проводки;
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247383
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и попробуй сказать, что это не работает!!!
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247386
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, забыл сказать, я из первого юниона выкинул 2 таблички, их у меня нет.
верни взад.
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247390
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше сам допишу.
первый юнион читать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
SELECT Bill_arrival.[Реф №], Bill_arrival.Наименование, Bill_arrival.Дата1, Bill_arrival.Дата2, round(Bill_arrival.Эквивалент1,  2 ) AS [КА+], round(Bill_arrival.Эквивалент2,  2 ) AS [КА-],  "" AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Bill_arrival
WHERE (((Bill_arrival.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Bill_charge.[Реф №], Bill_charge.Наименование, Bill_charge.Дата1, Bill_charge.Дата2, "  " AS [КА+], "  " AS [КА-], round(Bill_charge.Эквивалент1, 2 ) AS [От А+],round(Bill_charge.Эквивалент2,  2 ) AS [От А-], " " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Bill_charge
WHERE (((Bill_charge.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Cash.[Реф №], Cash.Наименование, Cash.Дата, "  " AS дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], round(Cash.Эквивалент1, 2 ) AS [K+], round(Cash.Эквивалент2,  2 ) AS [K-], " " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Cash
WHERE (((Cash.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Bank.[Реф №], Bank.Наименование, Bank.Дата1, Bank.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], round(Bank.Эквивалент1, 2 ) AS [Б+], round(Bank.Эквивалент2,  2 ) AS [Б-], " " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Bank
WHERE (((Bank.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Зад_потр.[Реф №], Зад_потр.Наименование, Зад_потр.Дата1, Зад_потр.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], round(Зад_потр.Эквивалент1, 2 ) AS [ 62 +], round(Зад_потр.Эквивалент2,  2 ) AS [ 62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Зад_потр
WHERE (((Зад_потр.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT Зад_пост.[Реф №], Зад_пост.Наименование, Зад_пост.Дата1, Зад_пост.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], round(Зад_пост.Эквивалент1,  2 ) AS [ 61 +], round(Зад_пост.Эквивалент2,  2 ) AS [ 61 -], " " AS [T+], "  " AS [T-], "  " AS [Рз+], "  " AS [Рз-]
FROM Зад_пост
WHERE (((Зад_пост.[Реф №])=[forms]![заказ]![ref]))
UNION ALL
SELECT sklad.[Реф №], sklad.Наименование, sklad.Дата1, sklad.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], round(sklad.Эквивалент1,  2 ) AS [T+], round(sklad.Эквивалент2,  2 ) AS [T-], " " AS [Рз+], "  " AS [Рз-]
FROM sklad
WHERE (((sklad.[Реф №])=[forms]![заказ]![ref]))
UNION ALL SELECT Realization.[Реф №], Realization.Наименование, Realization.Дата1, Realization.Дата2, "  " AS [КА+], "  " AS [КА-], "  " AS [От А+], "  " AS [От А-], "  " AS [K+], "  " AS [K-], "  " AS [Б+], "  " AS [Б-], "  " AS [62 +], " " AS [62 -], " " AS [61 +], " " AS [61 -], " " AS [T+], " " AS [T-], round(Realization.Эквивалент1,  2 ) AS [Рз+], round(Realization.Эквивалент2,  2 ) AS [Рз-]
FROM Realization
WHERE (((Realization.[Реф №])=[forms]![заказ]![ref]))


надеюсь меня не выкинут из форума за такие посты :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247392
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну даешь!
Бред, но работает :)
Спасибо огромное
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247399
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Бред, но работает :)
какая задача, такое и решение
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247400
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут уж не поспоришь
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247406
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Сообщений: 949

не пропусти 1000 пост.
будет повод отметить. :)
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32247408
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага...
Встретимся и нажремся
...
Рейтинг: 0 / 0
Суммирование в запросе
    #32249937
realist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мужики, у меня чем-то похожая ситуация с суммированием /topic/46318\r
Помогите, а?\r
Там ссылка на пример есть, всего 50 килобайт.\r
Как бороться, что сумма первого столбца умножается на количество записей второго?
...
Рейтинг: 0 / 0
72 сообщений из 72, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Суммирование в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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