К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Соединение таблиц в запросе.

0 - 18.07.2012 - 14:33
Добрый день.Платформа 8.2.15.317 файловая база.
Выбираю номенклатуру из документов запросом.
Запрос.Текст= "ВЫБРАТЬ
| Док2.Номенклатура КАК Номенклатура2,
| Док2.Количество КАК Количество2,
| Док1.Номенклатура КАК Номенклатура,
| Док1.Количество КАК Количество
|ИЗ
| Документ.ПоступлениеТоваровИУслуг.Товары КАК Док2
| ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровИУслуг.Товары КАК Док1
| ПО (Док1.Номенклатура = Док2.Номенклатура)
|ГДЕ
| Док2.Ссылка = &ВыбДокумент2
| И Док1.Ссылка = &ВыбДокумент1";

Выводится только совпадающая в документах номенклатура,хотя вид соединения таблиц в запросе используется различный: левое,правое,полное.



1 - 18.07.2012 - 14:35
бррррррр!
2 - 18.07.2012 - 14:36
скажи лучше, чё хотел достичь этим запросом?
3 - 18.07.2012 - 14:38
Понятно что брррр,но почему не выполняется вывод результатов согласно применяемому соединению.
Гость
4 - 18.07.2012 - 14:47
значит совпадает, должно все выводить.
или что-то не договорил
Гость
5 - 18.07.2012 - 14:48
Потому как если не найдется второй документ по заданному условию соединения, то ссылка этого дока будет равна NULL, а не &ВыбДокумент
6 - 18.07.2012 - 14:52
Да,запрос примитивный,но два документа существуют реально,проверял во внешней обработке через параметры запроса,а вот результат такой.Для вас проверить дело пяти минут.
Гость
7 - 18.07.2012 - 15:12
хм, не работает
Гость
8 - 18.07.2012 - 15:25
а вот так работает

выбрать
*
поместить док2
из
Документ.ПоступлениеТоваровУслуг.Товары
где
Ссылка = &ВыбДокумент2
;
выбрать
*
поместить док1
из
Документ.ПоступлениеТоваровУслуг.Товары
где
Ссылка = &ВыбДокумент1
;

выбрать
Док2.Номенклатура КАК Номенклатура2,
Док2.Количество КАК Количество2
,Док1.Номенклатура КАК Номенклатура,
Док1.Количество КАК Количество
ИЗ
док2 КАК Док2
ПОЛНОЕ СОЕДИНЕНИЕ док1 КАК Док1
ПО Док1.Номенклатура = Док2.Номенклатура
9 - 18.07.2012 - 15:36
дык все понятно. Сперва происходит объекдинение, появляется таблица типа
Док1 Ном1 Кол1 Док2 Ном2 Кол2
Док1 Ном1 Кол1 Нулл Нулл Нулл
Нулл Нулл Нулл Док2 Ном2 Кол2

А потом на эту табицу накладывается условие ГДЕ
До1 = &Док1 И Док2 = &Док2
10 - 18.07.2012 - 15:39
Спасибо за помощь, истинные профи.:)
Гость
11 - 18.07.2012 - 15:44
точно, лексус сразу сказал
12 - 18.07.2012 - 16:14
2(10) лучше почитай о порядке исполнения операторов в запросах SQL, тоже сможешь выдавать себя за профи ;)
13 - 19.07.2012 - 07:45
(12)полезное замечание,приму к сведению.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены