Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2016, 17:42   #11
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Цитата:
Сообщение от AndVGri Посмотреть сообщение
Да, спасибо, не обдуманно предложил. Тогда такой вариант
Код:
Select
    TMain.ID,
    TMain.[Report date],
    TMain.Agent,
    TSum1.[Сумма Fin report доходы],
    TSum2.[Сумма Fin report by inv]
From
(
	(Select Distinct
	    [Finance report registry].ID,
	    [Finance report registry].[Report date],
	    [Finance report registry].Agent
	From [Finance report registry]
	) As TMain
Left Join
	(Select
	    [Finance report registry].ID,
	    [Finance report registry].[Report date],
	    [Finance report registry].Agent,
	    Sum([TTL Fin report доходы].[Sum-TTl amount, XAF]) As [Сумма Fin report доходы]
	From
	    [Finance report registry]
	Inner Join
	    [TTL Fin report доходы]
	On
	    ([TTL Fin report доходы].ID =[Finance report registry].ID)
	Group By
	    [Finance report registry].ID,
	    [Finance report registry].[Report date],
	    [Finance report registry].Agent
	) As TSum1
On
    (
	(TMain.ID=TSum1.ID) And
	(TMain.[Report date]=TSum1.[Report date]) And
	(TMain.Agent=TSum1.Agent)
    )
)
Left Join

	(Select
	    [Finance report registry].ID,
	    [Finance report registry].[Report date],
	    [Finance report registry].Agent,
	    Sum([TTL Fin report by inv].[Sum-Sum, XAF]) As [Сумма Fin report by inv]
	From
	    [Finance report registry]
	Inner Join
	    [TTL Fin report доходы]
	On
	    (TTL Fin report by inv].ID =[Finance report registry].ID)
	Group By
	    [Finance report registry].ID,
	    [Finance report registry].[Report date],
	    [Finance report registry].Agent
	) As TSum2
On
    (
	(TMain.ID=TSum2.ID) And
	(TMain.[Report date]=TSum2.[Report date]) And
	(TMain.Agent=TSum2.Agent)
    )
Это гениально! ) Хотелось бы сделать именно так, но не проходит, ошибка синтаксиса JOIN. Скорей всего со скобками что-то, но я не могу в них разобраться. Точнее, как мне кажется, с ними все ок.
yulia вне форума Ответить с цитированием
Старый 04.02.2016, 19:52   #12
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

3.jpg

А можно ли при помощи SQL без VBA сделать так, чтобы вот в это пустое место в последней колонке 0 проставлялся?
yulia вне форума Ответить с цитированием
Старый 04.02.2016, 20:30   #13
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Используйте функцию NZ
в моем примере макрос RUNME замените на
Код:
SELECT Запрос4.код, Запрос4.data, Nz([w1],0) AS Выражение1, Nz([w2],0) AS Выражение2
FROM (Запрос4 LEFT JOIN Запрос1 ON (Запрос4.data = Запрос1.data) AND (Запрос4.код = Запрос1.Код)) 
LEFT JOIN Запрос2 ON (Запрос4.data = Запрос2.data) AND (Запрос4.код = Запрос2.Код);
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение двух запросов Xakand_2009 БД в Delphi 4 10.07.2012 15:05
сложение двух запросов. tema654 Microsoft Office Access 2 09.01.2012 23:09
Объединение двух запросов KBO БД в Delphi 0 27.07.2011 02:25
Связка двух запросов shefus SQL, базы данных 1 11.11.2010 19:56