Имя: Пароль:
1C
1С v8
v8: Не работает запрос
,
0 zoro-z
 
15.04.13
13:32
Есть простой запрос, надо шоб выводил всю номенклатуру из одной таблицы и ту которая есть из другой.
В результате выводит только ту которая есть в обоих таблицах, ЛЕВОЕ СОЕДИНЕНИЕ не работает.

ВЫБРАТЬ
   *
ИЗ
   Документ.ПоступлениеТоваровУслуг.Товары КАК ДокПриход
   ЛЕВОЕ СОЕДИНЕНИЕ
   Документ.РеализацияТоваровУслуг.Товары КАК ДокРасход
ПО  ДокПриход.Номенклатура = ДокРасход.Номенклатура
1 shuhard
 
15.04.13
13:35
(0) прикольная база
в ней что, всего по одному документу ?
2 DAVI
 
15.04.13
13:36
а если полное соединение?
3 azernot
 
15.04.13
13:36
Давай весь запрос. Явно же ещё секция "ГДЕ" у тебя есть...
4 zoro-z
 
15.04.13
13:36
(2) и полное и правое, и внутренне, все выводит одинаково.
5 azernot
 
15.04.13
13:37
+(3)  в которой установлено условие на данные из ДокРасход :)
6 Maxus43
 
15.04.13
13:37
запрос просто не имеет смысла, он выдаст в итоге полную кашу...
7 zoro-z
 
15.04.13
13:38
"ВЫБРАТЬ
   |    РеализацияТоваровУслугТовары.Ссылка,
   |    РеализацияТоваровУслугТовары.Номенклатура КАК НоменклатураР,
   |    РеализацияТоваровУслугТовары.Количество,
   |    ЗаказПокупателяТовары.Ссылка КАК Ссылка1,
   |    ЗаказПокупателяТовары.Номенклатура,
   |    ЗаказПокупателяТовары.Количество КАК Количество1
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
   |        ПО РеализацияТоваровУслугТовары.Номенклатура = ЗаказПокупателяТовары.Номенклатура
   |ГДЕ
   |    ЗаказПокупателяТовары.Ссылка = &Ссылка
   |    И РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
8 shuhard
 
15.04.13
13:38
(5) ТС-у стыдно показать весь запрос
9 azernot
 
15.04.13
13:39
|    И РеализацияТоваровУслугТовары.Ссылка = &Ссылка";

Ну вот он твой ларчик
10 shuhard
 
15.04.13
13:39
(7) [ |ГДЕ
   |    ЗаказПокупателяТовары.Ссылка = &Ссылка
   |    И РеализацияТоваровУслугТовары.Ссылка = &Ссылка";]
комментарии излишни
11 zladenuw
 
15.04.13
13:39
(9,10) гы гы
12 В тылу врага
 
15.04.13
13:40
(7) ПО РеализацияТоваровУслугТовары.Номенклатура = ЗаказПокупателяТовары.Номенклатура
   И
       ЗаказПокупателяТовары.Ссылка = &Ссылка
ГДЕ РеализацияТоваровУслугТовары.Ссылка = &Ссылка
13 azernot
 
15.04.13
13:40
|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
   |        ПО РеализацияТоваровУслугТовары.Номенклатура = ЗаказПокупателяТовары.Номенклатура и РеализацияТоваровУслугТовары.Ссылка = &Ссылка

Вот так сделай
14 Defender aka LINN
 
15.04.13
13:40
(0) У всех работает, у тебя нет. Странным не находишь?
15 azernot
 
15.04.13
13:41
+(13) Да, условие по ссылке присоединяющейся таблицы, Заказ т.е. а не РТУ.
16 zoro-z
 
15.04.13
13:45
(9) Это не ларчик, переменная может быть другая.

Задача состоит в том чтоб сравнить две таблицы разных документов, он сравнивает и выводит только одинаковые, а различные куда то пропадают.
17 zoro-z
 
15.04.13
13:47
Вот так более подходит


"ВЫБРАТЬ
   |    РеализацияТоваровУслугТовары.Ссылка,
   |    РеализацияТоваровУслугТовары.Номенклатура КАК НоменклатураР,
   |    РеализацияТоваровУслугТовары.Количество,
   |    ЗаказПокупателяТовары.Ссылка КАК Ссылка1,
   |    ЗаказПокупателяТовары.Номенклатура,
   |    ЗаказПокупателяТовары.Количество КАК Количество1
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
   |        ПО РеализацияТоваровУслугТовары.Номенклатура = ЗаказПокупателяТовары.Номенклатура
   |ГДЕ
   |    ЗаказПокупателяТовары.Ссылка = &Ссылка
   |    И РеализацияТоваровУслугТовары.Ссылка = &Ссылка1";
18 Defender aka LINN
 
15.04.13
13:47
(16) Чукча не читатель, да?
19 В тылу врага
 
15.04.13
13:47
(16) проблема в ГДЕ
20 В тылу врага
 
15.04.13
13:48
(17)

|ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
   |        ПО РеализацияТоваровУслугТовары.Номенклатура = ЗаказПокупателяТовары.Номенклатура
   |И
   |    ЗаказПокупателяТовары.Ссылка = &Ссылка
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка1
21 azernot
 
15.04.13
13:48
(16) У тебя стоит условие на данные из левой таблицы. Условие истинно только если данные в левой таблице есть. Что непонятно? Поставь условие в условия соединения или используй вложенный запрос.
22 zoro-z
 
15.04.13
13:57
(20) Спасибо.