|
Использование ВТ в условии запроса без ее описания в таблицах этого запроса
| ☑ |
0
bvb
11.09.14
✎
10:47
|
Можно ли использовать ранее созданную временную таблицу в условии основного запроса не описывая ее в данного таблицах ?
Например :
ВЫБРАТЬ
ПриходСостав.Товар КАК Товар
ПОМЕСТИТЬ ВТ_ПриходСостав
ИЗ
Документ.ПриходнаяНакладная.Состав КАК ПриходСостав
ГДЕ
ПриходСостав.Ссылка = &ПриходнаяНакладная
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РасходныеНакладные.Ссылка,
РасходныеНакладные.Покупатель
ИЗ
Документ.РасходнаяНакладная КАК РасходныеНакладные,
ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар
ГДЕ
РасходныеНакладные.Состав.Товар В (ВТ_ПриходСоставТовар.Товар)
избавиться от конструкции "ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар" ?
|
|
1
ДенисЧ
11.09.14
✎
10:48
|
КАК можно убрать и обращаться напрямую по имени
|
|
2
Ёпрст
11.09.14
✎
10:50
|
(0) можно. Используй МенежджерВременныхТаблиц
|
|
3
Ёпрст
11.09.14
✎
10:52
|
а ёпт.. не прочитал до конца
|
|
4
BuHu
11.09.14
✎
10:55
|
(0)а если
ГДЕ
РасходныеНакладные.Состав.Товар В (Выбрать ВТ_ПриходСоставТовар.Товар Из ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар )
?
|
|
5
BuHu
11.09.14
✎
10:57
|
+(4) или это при каждой проверке условия будет происходить выборка из ВТ ?
|
|
6
Maxus43
11.09.14
✎
10:59
|
ИЗ
Документ.РасходнаяНакладная КАК РасходныеНакладные,
ВТ_ПриходСоставТовар КАК ВТ_ПриходСоставТовар
нафиг тут кросс джойн и условие потом? разберитесь в запросе для начала
|
|
7
Maxus43
11.09.14
✎
11:00
|
правильно (4), из "ИЗ" надо убрать ВТ
|
|
8
Maxus43
11.09.14
✎
11:00
|
Либо Левое соединение, с проверкой на null, либо внутреннее соединени по Товар... короче вариантов 100500
|
|
9
Maxus43
11.09.14
✎
11:02
|
Если таблицы здоровые - есть приёмы ускорения, индексирование опять же
|
|
10
Maxus43
11.09.14
✎
11:04
|
З.ы. да и ВТ тут по большому счету не нужна, соединяй приходную с расходной сразу
|
|
11
bvb
11.09.14
✎
11:45
|
(10) Знаю что не нужна. Интерес чисто академический (вариантиспользование ВТ как ограничителя условий)
Рабочий вариант :
ВЫБРАТЬ
ПриходСостав.Товар КАК Товар
ПОМЕСТИТЬ ВТ_ПриходСостав
ИЗ
Документ.ПриходнаяНакладная.Состав КАК ПриходСостав
ГДЕ
ПриходСостав.Ссылка = &ПриходнаяНакладная
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РасходныеНакладные.Ссылка,
РасходныеНакладные.Покупатель
ИЗ
Документ.РасходнаяНакладная КАК РасходныеНакладные
ГДЕ
РасходныеНакладные.Состав.Товар В
(ВЫБРАТЬ
ВТ_ПриходСостав.Товар
ИЗ
ВТ_ПриходСостав)
Всем большое спасибо за участие
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший