|
|
|
| Подскажите пожалуйста, как сделать такой отчет, точнее запрос отчету. Я все перепробовала, у меня не получается.
У меня есть Таблица1 - поля ФИО, А/Х, №, Сумма начислено, Дата
Таблица2 - поля №, сумма оплачено
Таблица3 - поля №, сумма отказа.
Мне нужно, чтобы в отчете было так:
ФИО А/Х № Сумма начислено Сумма оплачено Сумма отказа Сальдо Дата
Но у меня не получается, так как сумм отказа меньше, чем начислено, а запрос выводит только столько строк, сколько сумм отказа. Мне нужно, чтобы там, где нет отказа, было пусто. И соответственно сальдо считалось. | |
|
| |
|
|
|
| Сначала нужно собрать в одном месте таблицы 2 и 3
делаем запрос "qUnionSun"
примерно так:
SELECT Num, Sum(tblUnion.sumPay) AS [СуммаОплачено], Sum( sumreject) AS [СуммаОтказа]
FROM ((select Таблица2.[№] as Num, Таблица2.[сумма оплачено] as sumPay, 0 as sumreject from Таблица2 Union select Таблица3.[№] as Num , 0 as sumPay, Таблица3.[сумма отказа] as sumreject from Таблица3) as tblUnion)
GROUP BY tblUnion.Num;
|
В итоге получи запрос с поями
№ СуммаОплачено СуммаОтказа
|
Дальше нужно только ее Джойном соеденить с таблицей 1 в новом запросе и на его основе построить отчет | |
|
| |
|
|
|
| а нельзя это все в конструкторе сделать, так как я плохо разбираюсь в SQL? | |
|
| |
|
|
|
| Нет в конструкторе нельзя | |
|
| |
|
|
|
| Скажите пожалуйста мне такой глупой куда этот текст вставлять надо? В модуль или в сам запрос?
SELECT Num, Sum(tblUnion.sumPay) AS [SummOplaty], Sum( sumreject) AS [SummOtkaza]
FROM ((select Оплата.[№] as Num, Оплата.[SummOplaty] as sumPay, 0 as sumreject from Оплата Union select Отказ.[№] as Num , 0 as sumPay, Отказ.[SummOtkaza] as sumreject from Отказ) as tblUnion)
GROUP BY tblUnion.Num; | |
|
| |
|
|
|
| SQL запрос по сути своей есть текст написанный на языке SQL.
То что ACCESS (или другие построители запросов) показывают как некий конструктор, в результате все равно сохраняется как SQL строка.
Для отго что бы посмотреть SQL представление запроса нужно в режиме конструктора выбрать меню "вид" - "режим SQL"
Откроется окно с тектом, вот туда и нужно ставить текс запроса.
ЗЫ. Не каждый SQL запрос может быть отображен с помощью конструктора | |
|
| |
|
|
|
| когда я это сделала, у меня не так сделось... Мне нужно чтобы по Номеру отбиралось это. Вот так:
У меня есть:
Таблица1. - там про то, сколько начислено
Таблица2 - сколько оплачено
Таблица3 - сколько отказалось оплачивать
Также есть запросы:
Запрос1. - сколько начислено
Запрос2 - сколько оплачено
Запрос3 - сколько отказано
Как проще из этого всего сделать акт сверки:
ФИО (из запроса1 или из таблицы1) Начислено Оплачено (может быть не оплачено) Сумма отказа | |
|
| |
|
|
|
| В идеале... свести начислено оплачено и отказано в оплате в одну таблицу....
если это невозможно имиторовать ФуллДжойн поэтапно | |
|
| |
|
|
|
| мой запрос должен вернуть
№ СуммаОплачено СуммаОтказа
|
т.е. дальше к нему надо c помощью Join по коду присоеденить таблицу1 | |
|
| |
|
|
|
| Можете мне написать как это будет выглядеть? | |
|
| |
|
|
|
| Может лучше запросы свести вместе? | |
|
| |
|
|
|
| Я в вашей базе не нашел таблицы "сколько всего начислено"
Каку верно сказал(а) Ирча, было бы логично объединить оплаты и отказы в одной таблице с указанием типа. | |
|
| |
|
|
|
| я почти разобралась! Таблицы соединились!
Как теперь мне соединить Запрос и Этот новый запрос? | |
|
| |
|
|
|
| так же как если бы это были просто таблицы. Добавьте их в новый запрос | |
|
| |
|
|
|
| Когда я сделала новый запрос и внего добавила поля из этих 2-х запросов, то те номера квитанций, которые оплачены не были, они исчезли. То есть те, которые были в другом запросе. | |
|
| |
|
14 Кб. |
|
| соединение "все из ...." см. рис | |
|
| |
|
|
|
| А можно соединить 3 запроса также?
То есть если у них у всех есть одинаковое поле Дата, я хочу, чтобы записи выводились так:
Дата (1 или несколько раз выводится) Сумма1 (все суммы) Сумма2 (все суммы) Сумма3 (все суммы) | |
|
| |