Имя: Пароль:
1C
1С v8
ЛЕВое соединение
0 Irek-kazan
 
05.10.12
15:16
То ли я совсем отупел.
Запрос
ВЫБРАТЬ
*
ИЗ РегистрНакопления.ОборотыБюджетов.Обороты(, , Регистратор, Сценарий = ЗНАЧЕНИЕ(Справочник.СценарииПланирования.ПустаяСсылка)) КАК ОБ
ГДЕ ОБ.СтатьяОборотов.Наименование like "Ошибоч%"
дает одну запись.

Почему дает две записи

ВЫБРАТЬ
*
ИЗ РегистрНакопления.ОборотыБюджетов.Обороты(НАЧАЛОПЕРИОДА(&ДатаНачалаРасчетов, ДЕНЬ), КОНЕЦПЕРИОДА(&РабочаяДата, ДЕНЬ), Регистратор, Сценарий = ЗНАЧЕНИЕ(Справочник.СценарииПланирования.ПустаяСсылка)) КАК ОБ
ЛЕВОЕ СОЕДИНЕНИЕ
   Справочник.СтатьиБюджета КАК СБ ПО ОБ.СтатьяОборотов = СБ.СтатьяОборотов
ОБ.Проект, ОБ.ЦФО
ГДЕ ОБ.СтатьяОборотов.Наименование like "Ошибоч%"
Предполагаю связано с тем что одна статья оборотов в двух бюджетах. Но ведь соединение ЛЕВОЕ?
Направьте на путь истинный
1 Kashemir
 
05.10.12
15:18
Значит есть два элемента Справочник.СтатьиБюджета у которых ОБ.СтатьяОборотов = СБ.СтатьяОборотов
2 GLazNik
 
05.10.12
15:18
(0) И что, что левое? Левое соединение возвращает все записи из "левой" таблицы и если ей соответствует несколько таблиц из "правой" таблицы, то будут возвращены все эти несколько записей.
3 1Страх
 
05.10.12
15:18
левое соединение не избавляет от двух бюджетов, какой им выбрать? правильно оба
4 Irek-kazan
 
05.10.12
15:19
понял
5 Irek-kazan
 
05.10.12
15:19
спасибо всем
6 Trier
 
05.10.12
15:19
7 Irek-kazan
 
05.10.12
15:20
(6) нет, зачем?
8 palpetrovich
 
05.10.12
15:23
(0) а второй запрос без дат задваивает?
9 Irek-kazan
 
05.10.12
15:25
(8) и без дат будет задваивать... по причине того что во второй таблице несколько записей, удовлетворяющих условию склейки
10 palpetrovich
 
05.10.12
15:31
(9) м.б., мне просто подумалось, нет-ли здесь аналогии с http://i037.radikal.ru/1209/3e/3288dc48a21a.jpg
это отчет по партиям на складах из типовой УТ.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан