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)полезное замечание,приму к сведению. | |
![]() | Интернет-форум Краснодарского края и Краснодара |