|
Подскажите с запросом полное соединение | ☑ | ||
---|---|---|---|---|
0
DSSS
16.08.11
✎
09:00
|
Доброго дня.
Есть 2 таблицы: 1-я таблица в табличной части справочника: Спецификация Номенклатура СП1 Ном1 СП1 Ном2 СП1 Ном3 2-я таблица в документе: Спецификация Номенклатура СП1 Ном1 СП1 Ном2 Нужно получить таблицу: Спецификация НоменклатураСпр НоменклатураДОК СП1 Ном1 Ном1 СП2 Ном2 Ном2 СП3 Ном3 NULL Подскажите, как изменить запрос, чтобы вернул таблицу в нужном виде? Что нужно указать в условии соединения По номенклатура? ВЫБРАТЬ Док.Спецификация, Док.Номенклатура КАК Док, Спр.Номенклатура КАК Спр ИЗ Документ.ЗаказНаряд.Товары КАК Док ПОЛНОЕ СОЕДИНЕНИЕ Справочник.СпецификацииТоваров.Спецификация КАК Спр ПО Док.Спецификация = Спр.Ссылка И Док.Номенклатура = Спр.Номенклатура ГДЕ Док.Ссылка = &Ссылка |
|||
1
butterbean
16.08.11
✎
09:04
|
откуда в первой колонке результата появились СП2 и СП3??
|
|||
2
DSSS
16.08.11
✎
09:05
|
(1) Блин, опечатка, везде СП1
|
|||
3
bcel
16.08.11
✎
09:07
|
возьми список спецификаций и к нему уже присоединяй номенклатуру и документы
|
|||
4
butterbean
16.08.11
✎
09:07
|
как сейчас выводит?
|
|||
5
aleks-id
16.08.11
✎
09:07
|
>>1-я таблица в табличной части справочника
вот тут поподробнее |
|||
6
DSSS
16.08.11
✎
09:10
|
(4)
Сейчас выводит: СП1 Ном1 Ном1 СП1 Ном2 Ном2 Неправильно срабатывает связь по номенклатуре, т.к. одна из номенклатур нуловая. (5) Справочник спецификации, у него ТЧ номенклатура. В ТЧ документа колонки: номенклатура, спецификация. |
|||
7
aleks-id
16.08.11
✎
09:12
|
ВЫБРАТЬ
Спр.Спецификация КАК Специф, Спр.Номенклатура КАК СпрНом, Док.Номенклатура КАК Док ИЗ Справочник.СпецификацииТоваров.Спецификация КАК Спр ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Товары КАК Док ПО Док.Спецификация = Спр.Ссылка И Док.Номенклатура = Спр.Номенклатура ГДЕ Док.Ссылка = &Ссылка |
|||
8
Axel2009
16.08.11
✎
09:14
|
(0) а чем не устраивает текущее соединение?
|
|||
9
butterbean
16.08.11
✎
09:15
|
(7) только Док.Ссылка = &Ссылка в условие соединения и будет совсем хорошо
|
|||
10
aleks-id
16.08.11
✎
09:18
|
(9) пусть тс сам уже марафет на свой запрос наведет :)
|
|||
11
DSSS
16.08.11
✎
09:21
|
(7),(9) все равно 2 строки выводит
ВЫБРАТЬ Спр.Ссылка КАК Спецификация, Спр.Номенклатура КАК СпрНом, Док.Номенклатура КАК ДокНом ИЗ Справочник.СпецификацииТоваров.Спецификация КАК Спр ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаряд.Товары КАК Док ПО Спр.Ссылка = Док.Спецификация И Спр.Номенклатура = Док.Номенклатура ГДЕ Док.Ссылка = &Ссылка (8) тем что выводит 2 строки вместо 3-х.. |
|||
12
butterbean
16.08.11
✎
09:23
|
(11) замени ГДЕ на И
|
|||
13
Axel2009
16.08.11
✎
09:26
|
(11) правое соединение пиши
|
|||
14
Axel2009
16.08.11
✎
09:27
|
(13)+фигню сказал =)
|
|||
15
Креатив
16.08.11
✎
09:35
|
(12) дело говорит у тебя условие ГДЕ отсекает строки.
|
|||
16
DSSS
16.08.11
✎
09:35
|
Вот рабочий вариант:
ВЫБРАТЬ ЗаказНарядТовары.Номенклатура КАК НоменклатураДок, ЗаказНарядТовары.Спецификация ПОМЕСТИТЬ ТЧ ИЗ Документ.ЗаказНаряд.Товары КАК ЗаказНарядТовары ГДЕ ЗаказНарядТовары.Ссылка = &Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СпецификацииТоваровСпецификация.Номенклатура, СпецификацииТоваровСпецификация.Ссылка, ТЧ.НоменклатураДок ИЗ Справочник.СпецификацииТоваров.Спецификация КАК СпецификацииТоваровСпецификация ЛЕВОЕ СОЕДИНЕНИЕ ТЧ КАК ТЧ ПО СпецификацииТоваровСпецификация.Ссылка = ТЧ.Спецификация И СпецификацииТоваровСпецификация.Номенклатура = ТЧ.НоменклатураДок ГДЕ СпецификацииТоваровСпецификация.Ссылка В (ВЫБРАТЬ ТЧ.Спецификация ИЗ ТЧ КАК ТЧ) Всем спасибо! |
|||
17
butterbean
16.08.11
✎
09:38
|
ппц
|
|||
18
Axel2009
16.08.11
✎
10:59
|
и где он рабочий то?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |