Имя: Пароль:
1C
1С v8
Почему неправильно объединяются 2 запроса?
0 Iris-ocean
 
19.10.11
17:07
ВЫБРАТЬ
   ПланСбораОвощейОбороты.Культура,
   ПланСбораОвощейОбороты.КоличествоОборот
ПОМЕСТИТЬ ПланНаМесяц
ИЗ
   РегистрНакопления.ПланСбораОвощей.Обороты(&НачалоПериода, &КонецПериода, , Бригада В (&ОтборБригада)) КАК ПланСбораОвощейОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СборОвощейОбороты.Культура,
   СборОвощейОбороты.КоличествоОборот
ПОМЕСТИТЬ ФактМесяц
ИЗ
   РегистрНакопления.СборОвощей.Обороты(&НачалоПериода, &КонецПериода, , Бригада В (&ОтборБригада)) КАК СборОвощейОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ПланНаГод.Культура КАК Культура,
   ПланНаГод.КоличествоОборот КАК ПланГод,
   0 КАК ФактГод,
   ПланНаМесяц.КоличествоОборот КАК ПланМесяц,
   0 КАК ФактМесяц
ИЗ
   ПланНаМесяц КАК ПланНаМесяц
       ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ПланСбораОвощей.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД), &КонецПериода, , Бригада В (&ОтборБригада)) КАК ПланНаГод
       ПО ПланНаМесяц.Культура = ПланНаГод.Культура

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ФактНаГод.Культура,
   0,
   ФактНаГод.КоличествоОборот,
   0,
   ФактМесяц.КоличествоОборот
ИЗ
   РегистрНакопления.СборОвощей.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД), &КонецПериода, , Бригада В (&ОтборБригада)) КАК ФактНаГод
       ПОЛНОЕ СОЕДИНЕНИЕ ФактМесяц КАК ФактМесяц
       ПО ФактНаГод.Культура = ФактМесяц.Культура

УПОРЯДОЧИТЬ ПО
   Культура


По идее должна получится таблица с колонками:
культура, ПланГод, ФактГод, ПланМесяц, ФактМесяц


А получается, что колонки ПланМесяц и ФактМесяц пустые
зато в колонке ФактГод = ФактГод-ФактМесяц
1 cobRA
 
19.10.11
17:10
Замуж, срочно замуж!
2 Конфигуратор1с
 
19.10.11
17:17
почему "ОБЪЕДИНИТЬ ВСЕ" а не ОБЪЕДИНИТЬ?
3 izekia
 
19.10.11
17:20
(2) а почему бы и нет?)
4 artbear
 
19.10.11
17:21
(0)Да, замуж нужно.
1. У тебя в объединение поля неверные - например,
3 поле в первом запросе 0 КАК ФактГод,
а во втором уже ФактНаГод.КоличествоОборот :(
2. Не слушай (2) - именно ОБЪЕДИНИТЬ ВСЕ", но далее делай группировку по нужным поля
3. При "ПОЛНОЕ СОЕДИНЕНИЕ" Обязательно нужно все поля не из связи писать через ЕСТЬNULL(поле, значениеПоУмолчание)
5 izekia
 
19.10.11
17:22
(1) может лучше повышать факт?
6 Конфигуратор1с
 
19.10.11
17:23
(4) так что значит не слушай? если она хочет получить
По идее должна получится таблица с колонками:
культура, ПланГод, ФактГод, ПланМесяц, ФактМесяц то объединить все без группировки ей не поможет, а объединить по идее свернет строки. Но если группировать то не вопрос
7 izekia
 
19.10.11
17:24
(4) тут кажется все одним простым запросом делается, просто логика автора не до конца ясна, что в итоге нужно
8 Конфигуратор1с
 
19.10.11
17:25
(4) и чем не нравится третье поле?
9 izekia
 
19.10.11
17:25
(6) ты скажи какие у тебя строки не попадут в объединение, если ты сделаешь объединить без все?)
10 cobRA
 
19.10.11
17:26
(7) Хе, логика-то женская :))
11 Конфигуратор1с
 
19.10.11
17:29
(9) та в том и прикол, что в ее варианте все равно фигня получается - если объединит все то получит две разные строки. Кстати, а при "объединить" ? он сворачивает или тупо берет первую строку из двух одинаковых?
12 izekia
 
19.10.11
17:31
(11) ни то ни то ... тупо берет вторую строку из одинаковых
13 Iris-ocean
 
19.10.11
17:31
(4) поля то так сами проставляются
14 Конфигуратор1с
 
19.10.11
17:32
А почему, кстати объединение а не соединение?
15 Конфигуратор1с
 
19.10.11
17:33
"зато в колонке ФактГод = ФактГод-ФактМесяц" - и это откуда взяли?
16 Iris-ocean
 
19.10.11
17:37
объединение, потому что надо и ту культуру, что была в плане, но нет в факте и наоборот
17 Iris-ocean
 
19.10.11
17:37
(15) посчитала
18 izekia
 
19.10.11
17:37
(16) джойном через естьнулл
19 cobRA
 
19.10.11
17:40
(18) Гаварите па-руски! И, вообще, хватит издеваться! Помоги девушке - напиши запрос.
:))
20 Iris-ocean
 
19.10.11
17:45
ну получается так, что у меня 2 таблицы
культураПлан   ПланГод   ПланМесяц
и
культураФакк   ФактГод   ФактМесяц

Мне надо их слить в 1
Культура  ПланГод ФактГод ПланМесяц ФактМесяц

если соединением, то тут неясно,какую культуру брать - из 1 или 2-й таблицы, потому что нужны и те и те

А объединением не получается
21 izekia
 
19.10.11
17:45
надо было стразу делать одну таблицу, и не надо было бы ничего сливать)
22 izekia
 
19.10.11
17:48
ВЫБРАТЬ ЕСТЬNULL(культурафакк.культура, культураплан.культура), там дальше разные поля ....
ИЗ культураплан полное соединение культурафакк ПО культурафакк.культура = культураплан.культура
23 viktor_vv
 
19.10.11
17:51
(22) Понравилось "культурафакк.культура" :).
24 izekia
 
19.10.11
17:52
(23) ну со слов автора ...
25 Iris-ocean
 
19.10.11
17:57
ой, мне эта табличная модель сложно даётся :(
но вроде получилось через соединение
26 cobRA
 
19.10.11
17:58
(25) Ничего, и такое бывает. Не нужно так расстраиваться.
27 Конфигуратор1с
 
19.10.11
18:10
(25) сам семерошник )))
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn