Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Full join / 9 сообщений из 9, страница 1 из 1
24.03.2016, 14:10
    #39199735
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
Добрый день, подскажите как переделать запрос с inner на full?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Set rs = db.OpenRecordset("Select distinct f.kod25 As №Договора, f.kod_18 as КодКонтрагента, n.namestred as НаименованиеКонтрагента,  f.NumDogKurator as Факт№договораКуратора,  p.NumDogKurator as План№договораКуратора , f.nameUslugi as ФактНаименованиеУслуги, p.nameUslugi as ПланНаименованиеУслуги, u.name_upr as НаименованиеУправления, f.kod_edizm as ФактЕдиницыИзмерения, p.kod_edizm as ПланЕдиницыИзмерения, f.kod_urovuslug as ФактУровеньУслуги, p.kod_urovuslug as ПланУровеньУслуги,f.cost as ФактТарифЗаЕдиницу,p.cost as ПланТарифЗаЕдиницу,f.valuta as ФактВалюта,p.valuta as ПланВалюта,f.procNDS as ФактПроцентНДС, p.procNDS as ПланПроцентНДС, f.coefficient as ФактЦелевойКоэффициент,p.coefficient as ПланЦелевойКоэффициент, " _
& " p.volume01 as ПланОбъемЯнварь,IIF (month=1,f.volume,0) as ФактОбъемЯнварь, p.sum01 as ПланСуммаЯнварь, IIF (month=1,f.sum,0) as ФактСуммаЯнварь, " _
& " p.volume02 as ПланОбъемФевраль,IIF (month=2,f.volume,0) as ФактОбъемФевраль,p.sum02 as ПланСуммаФевраль, IIF (month=2,f.sum,0) as ФактСуммаФевраль, " _
& " p.volume03 as ПланОбъемМарт,IIF (month=3,f.volume,0) as ФактОбъемМарт,p.sum03 as ПланСуммаМарт, IIF (month=3,f.sum,0) as ФактСуммаМарт, " _
& " p.volume04 as ПланОбъемАпрель,IIF (month=4,f.volume,0) as ФактОбъемАпрель,p.sum04 as ПланСуммаАпрель, IIF (month=4,f.sum,0) as ФактСуммаАпрель, " _
& " p.volume05 as ПланОбъемМай,IIF (month=5,f.volume,0) as ФактОбъемМай,p.sum05 as ПланСуммаМай, IIF (month=5,f.sum,0) as ФактСуммаМай, " _
& " p.volume06 as ПланОбъемИюнь, IIF (month=6,f.volume,0) as ФактОбъемИюнь,p.sum06 as ПланСуммаИюнь, IIF (month=6,f.sum,0) as ФактСуммаИюнь, " _
& " p.volume07 as ПланОбъемИюль,IIF (month=7,f.volume,0) as ФактОбъемИюль,p.sum07 as ПланСуммаИюль, IIF (month=7,f.sum,0) as ФактСуммаИюль, " _
& " p.volume08 as ПланОбъемАвгуст,IIF (month=8,f.volume,0) as ФактОбъемАвгуст,p.sum08 as ПланСуммаАвгуст, IIF (month=8,f.sum,0) as ФактСуммаАвгуст, " _
& " p.volume09 as ПланОбъемСентябрь,IIF (month=9,f.volume,0) as ФактОбъемСентябрь,p.sum09 as ПланСуммаСентябрь, IIF (month=9,f.sum,0) as ФактСуммаСентябрь, " _
& " p.volume10 as ПланОбъемОктябрь,IIF (month=10,f.volume,0) as ФактОбъемОктябрь,p.sum10 as ПланСуммаОктябрь, IIF (month=10,f.sum,0) as ФактСуммаОктябрь, " _
& " p.volume11 as ПланОбъемНоябрь,IIF (month=11,f.volume,0) as ФактОбъемНоябрь,p.sum11 as ПланСуммаНоябрь, IIF (month=11,f.sum,0) as ФактСуммаНоябрь, " _
& " p.volume12 as ПланОбъемДекабрь,IIF (month=12,f.volume,0) as ФактОбъемДекабрь,p.sum12 as ПланСуммаДекабрь, IIF (month=12,f.sum,0) as ФактСуммаДекабрь " _
& " From SkidPlan as p, SkidFact as f, nciupr as u, ncistred as n, " _
& " f full join n on f.kod_18=n.nStrEd, " _
& " f full join u ON u.kod_upr =f.kod_upr " _
& " Where f.kod25= '" & numdog & "'  and f.kod_upr= '" & ctrl & "' and f.nameUslugi= '" & usluga & "' and p.kod_25='" & numdog & "' and p.nameUslugi='" & usluga & "' and p.kod_upr='" & ctrl & "' ")
...
Рейтинг: 0 / 0
24.03.2016, 14:15
    #39199743
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
Это - не запрос.
...
Рейтинг: 0 / 0
24.03.2016, 14:23
    #39199755
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
А теперь?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Select distinct f.kod25 As №Договора, f.kod_18 as КодКонтрагента, n.namestred as НаименованиеКонтрагента,
  f.NumDogKurator as Факт№договораКуратора,  p.NumDogKurator as План№договораКуратора ,
 f.nameUslugi as ФактНаименованиеУслуги, p.nameUslugi as ПланНаименованиеУслуги,
u.name_upr as НаименованиеУправления, f.kod_edizm as ФактЕдиницыИзмерения, p.kod_edizm as ПланЕдиницыИзмерения, f.kod_urovuslug as ФактУровеньУслуги, p.kod_urovuslug as ПланУровеньУслуги,f.cost as ФактТарифЗаЕдиницу,p.cost as ПланТарифЗаЕдиницу,f.valuta as ФактВалюта,p.valuta as ПланВалюта,f.procNDS as ФактПроцентНДС, p.procNDS as ПланПроцентНДС, f.coefficient as ФактЦелевойКоэффициент,p.coefficient as ПланЦелевойКоэффициент,p.volume01 as ПланОбъемЯнварь,
IIF (month=1,f.volume,0) as ФактОбъемЯнварь, p.sum01 as ПланСуммаЯнварь, IIF (month=1,f.sum,0) as ФактСуммаЯнварь,  p.volume02 as ПланОбъемФевраль,IIF (month=2,f.volume,0) as ФактОбъемФевраль,p.sum02 as ПланСуммаФевраль,
 IIF (month=2,f.sum,0) as ФактСуммаФевраль, p.volume03 as ПланОбъемМарт,IIF (month=3,f.volume,0) as ФактОбъемМарт,
p.sum03 as ПланСуммаМарт, IIF (month=3,f.sum,0) as ФактСуммаМарт,p.volume04 as ПланОбъемАпрель,
IIF (month=4,f.volume,0) as ФактОбъемАпрель,p.sum04 as ПланСуммаАпрель,IIF (month=4,f.sum,0) as ФактСуммаАпрель,
p.volume05 as ПланОбъемМай,IIF (month=5,f.volume,0) as ФактОбъемМай,p.sum05 as ПланСуммаМай,
IIF (month=5,f.sum,0) as ФактСуммаМай,p.volume06 as ПланОбъемИюнь, IIF (month=6,f.volume,0) as ФактОбъемИюнь,
p.sum06 as ПланСуммаИюнь, IIF (month=6,f.sum,0) as ФактСуммаИюнь,p.volume07 as ПланОбъемИюль,
IIF (month=7,f.volume,0) as ФактОбъемИюль,p.sum07 as ПланСуммаИюль, IIF (month=7,f.sum,0) as ФактСуммаИюль,
p.volume08 as ПланОбъемАвгуст,IIF (month=8,f.volume,0) as ФактОбъемАвгуст,p.sum08 as ПланСуммаАвгуст,
IIF (month=8,f.sum,0) as ФактСуммаАвгуст, p.volume09 as ПланОбъемСентябрь,
IIF (month=9,f.volume,0) as ФактОбъемСентябрь,p.sum09 as ПланСуммаСентябрь, IIF (month=9,f.sum,0) as ФактСуммаСентябрь,
p.volume10 as ПланОбъемОктябрь,IIF (month=10,f.volume,0) as ФактОбъемОктябрь,p.sum10 as ПланСуммаОктябрь,
IIF (month=10,f.sum,0) as ФактСуммаОктябрь,p.volume11 as ПланОбъемНоябрь,IIF (month=11,f.volume,0) as ФактОбъемНоябрь,
p.sum11 as ПланСуммаНоябрь, IIF (month=11,f.sum,0) as ФактСуммаНоябрь, p.volume12 as ПланОбъемДекабрь,
IIF (month=12,f.volume,0) as ФактОбъемДекабрь,p.sum12 as ПланСуммаДекабрь,IIF (month=12,f.sum,0) as ФактСуммаДекабрь 
From SkidPlan as p, SkidFact as f, nciupr as u, ncistred as n, 
f inner join n on f.kod_18=n.nStrEd, 
f inner join u ON u.kod_upr =f.kod_upr
...
Рейтинг: 0 / 0
24.03.2016, 14:30
    #39199763
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
И что, такая конструкция
Код: vbnet
1.
2.
3.
4.
5.
6.
From SkidPlan as p, 
SkidFact as f, 
nciupr as u, 
ncistred as n, 
f inner join n on f.kod_18=n.nStrEd, 
f inner join u ON u.kod_upr =f.kod_upr


нормально воспринимается?
И именно в этом фрагменте надо использовать full join? о котором MS Access понятия не имеет, кстати...
...
Рейтинг: 0 / 0
24.03.2016, 15:25
    #39199844
Noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
Да, вполне нормально воспринимается и именно тут нужен full или его аналог
...
Рейтинг: 0 / 0
24.03.2016, 15:52
    #39199872
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
Noobs,

как я уже отвечала --делаю так
авторделаю через рабочую таблицу
--очистка таблицы(ид/дата/клиент/операция/касса/товары
--вставка из кассы(дата/клиент/операция/сумма/0
--вставка из накладных(дата/клиент/накладная/0/сумма

затем обычная обработка(отчет или запрос)

у вас будут другие поля, но смысл сохранится
ид-дог-клиент-месяц-сумма/кол план-сумма кол-факт
...
Рейтинг: 0 / 0
24.03.2016, 16:01
    #39199889
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
Noobsнужен full или его аналогFULL JOIN ни Access, ни Jet не переварят - неграмотные они в этом плане. Придётся эмулировать:

Код: vbnet
1.
2.
3.
select (fields) from t1 left join t2 on (conditions) where (filters)
union all
select (fields) from t1 right join t2 on (conditions) where (filters) and t1.id is null
...
Рейтинг: 0 / 0
25.03.2016, 07:45
    #39200244
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
Akina,
Жесть, но я попробую все же эмулировать)
...
Рейтинг: 0 / 0
28.03.2016, 23:03
    #39202611
1121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Full join
noobsAkina,
Жесть, но я попробую все же эмулировать)

Жесть - у тя в башке

учись пока дарят

сц
(
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Full join / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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