Имя: Пароль:
1C
1С v8
простой запрос по таблицам
0 HamyaG
 
27.11.19
20:55
но видимо я устал. До результируещего результата у меня грубо говоря 9 строк, после - пусть будет 12, не суть, вопрос, откуда при левом соединении они там взялись?

сам запрос

ВЫБРАТЬ
    |    ТЗ.Позиция,
    |    ТЗ.КодТовара,
    |    ТЗ.ШК,
    |    ТЗ.НДС,
    |    ТЗ.Магазин,
    |    ТЗ.Касса,
    |    ТЗ.ПЛУ,
    |    ТЗ.Номер,
    |    ТЗ.ВремяПродажи,
    |    ТЗ.Смена,
    |    ТЗ.Цена,
    |    ТЗ.Количество,
    |    ТЗ.СуммаНДС,
    |    ТЗ.СуммаСкидки,
    |    ТЗ.ЦенаСоСкидкой,
    |    ТЗ.Сумма,
    |    ТЗ.НомерКассира
    |ПОМЕСТИТЬ ТЗ
    |ИЗ
    |    &ТЗ КАК ТЗ
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ТЗ1.Магазин,
    |    ТЗ1.Касса,
    |    ТЗ1.Смена,
    |    ТЗ1.Номер,
    |    ТЗ1.ВремяПродажи,
    |    ТЗ1.НомерПозиции,
    |    ТЗ1.КодТовара,
    |    ТЗ1.НаВесьЧек,
    |    ТЗ1.ИДАкции,
    |    ТЗ1.НомерКарты,
    |    ТЗ1.Количество
    |ПОМЕСТИТЬ Купоны
    |ИЗ
    |    &ТЗ1 КАК ТЗ1
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ТЗ.Позиция,
    |    ТЗ.КодТовара,
    |    ТЗ.ШК,
    |    ТЗ.НДС,
    |    ТЗ.Магазин,
    |    ТЗ.Касса,
    |    ТЗ.ПЛУ,
    |    ТЗ.Номер,
    |    ТЗ.ВремяПродажи,
    |    ТЗ.Смена,
    |    ТЗ.Цена,
    |    ТЗ.Количество,
    |    ТЗ.СуммаНДС,
    |    ТЗ.СуммаСкидки,
    |    ТЗ.ЦенаСоСкидкой,
    |    ТЗ.Сумма,
    |    ТЗ.НомерКассира,
    |    ВЫБОР
    |        КОГДА ТЗ.НДС = 10
    |            ТОГДА ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
    |        КОГДА ТЗ.НДС = 20
    |            ТОГДА ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
    |        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
    |    КОНЕЦ КАК СтавкаНДС,
    |    Штрихкоды.Владелец КАК Номенклатура,
    |    Штрихкоды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    Штрихкоды.Качество КАК Качество,
    |    Кассиры.ФизЛицо КАК Пользователь
    |ПОМЕСТИТЬ Сшк
    |ИЗ
    |    ТЗ КАК ТЗ
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Кассиры КАК Кассиры
    |        ПО ТЗ.НомерКассира = Кассиры.Код
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
    |        ПО ТЗ.ШК = Штрихкоды.Штрихкод
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Сшк.Позиция,
    |    Сшк.КодТовара,
    |    Сшк.ШК,
    |    Сшк.НДС,
    |    Сшк.Магазин,
    |    Сшк.Касса,
    |    Сшк.ПЛУ,
    |    Сшк.Номер,
    |    Сшк.ВремяПродажи,
    |    Сшк.Смена,
    |    Сшк.Цена,
    |    Сшк.Количество,
    |    Сшк.СуммаНДС,
    |    Сшк.СуммаСкидки,
    |    Сшк.ЦенаСоСкидкой,
    |    Сшк.Сумма,
    |    Сшк.НомерКассира,
    |    Сшк.СтавкаНДС,
    |    Сшк.Номенклатура,
    |    Сшк.ЕдиницаИзмерения,
    |    Сшк.Качество,
    |    Сшк.Пользователь,
    |    Купоны.НомерКарты
    |ИЗ
    |    Сшк КАК Сшк
    |        ЛЕВОЕ СОЕДИНЕНИЕ Купоны КАК Купоны
    |        ПО Сшк.Позиция = Купоны.НомерПозиции
    |            И (Сшк.КодТовара ПОДОБНО Купоны.КодТовара)
    |            И Сшк.Магазин = Купоны.Магазин
    |            И Сшк.Касса = Купоны.Касса
    |            И (Сшк.Смена ПОДОБНО Купоны.Смена)
1 hhhh
 
27.11.19
20:58
(0) наконец-то вы начинаете прозревать, если левое соединение не по всем полям, то так и должно быть.
2 HamyaG
 
27.11.19
21:05
(1) левое соединение не подразумевает объединение, нет? слева остается то, что было, а правое подставляется то, что есть?
3 RomanYS
 
27.11.19
21:19
(2) в правой таблице может быть несколько подходящих под условия соединений строк
4 Йохохо
 
27.11.19
21:19
(2) "то, что есть" + "сколько есть"
5 HamyaG
 
27.11.19
21:21
все понял, спасибо всем, мозг включился, надо больше спать)
6 HamyaG
 
27.11.19
21:21
залип на такой фигне, обидно даже(