Имя: Пароль:
1C
 
Где я ошибся в запросе?
,
0 НичегоНе Понятно
 
06.07.19
19:52
Всем привет! Есть такой запрос:
ВЫБРАТЬ
    ЗаказыКлиентов.Ссылка КАК Ссылка
ПОМЕСТИТЬ СписокНоменклатурыВЗаказе
ИЗ
    Справочник.ЗаказыКлиентов КАК ЗаказыКлиентов
ГДЕ
    ЗаказыКлиентов.ДатаДобавления МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ЗаказыКлиентов.СостояниеЗаказа = ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказаКлиента.Добавлен)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗаказыКлиентов.Ссылка
ИЗ
    Справочник.ЗаказыКлиентов КАК ЗаказыКлиентов
ГДЕ
    ЗаказыКлиентов.ДатаОтгрузки МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ЗаказыКлиентов.СостояниеЗаказа = ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказаКлиента.Отгружен)
;
Выбрать СправочникЗаказы.Ссылка Из Справочник.ЗаказыКлиентов КАК СправочникЗаказы Где СправочникЗаказы.Ссылка в ("Выбрать ВрТаб.Ссылка Из СписокНоменклатурыВЗаказе как ВрТаб")

Во временную таблицу данные попадают, в полном объеме, как надо. И если я просто выбираю заказы из временной таблицы, то все хорошо. А если пытаюсь выбрать из справочника заказов, ограничив выборку только теми, которые есть во временной таблице, то получаю пустой результат, где я затупил?
1 ДенисЧ
 
06.07.19
20:08
СправочникЗаказы.Ссылка в ("Выбрать ВрТаб.Ссылка Из СписокНоменклатурыВЗаказе как ВрТаб")

А нет тут ли кое-чего лишнего?
2 НичегоНе Понятно
 
06.07.19
20:10
(1)Я не знаю, возможно. Если хочешь помочь расскажи. Если бы знал, я бы не спрашивал.
3 hhhh
 
06.07.19
20:14
(0) кавычки ты туда зря захреначил.
4 НичегоНе Понятно
 
06.07.19
20:18
(3)Чота да, затупил бывает же такое... еще раза три четыре их перепечатал
5 Лефмихалыч
 
06.07.19
20:20
последнее замени просто на выборку из временной таблицы. Будет то же самое, только быстрее
6 Гобсек
 
07.07.19
11:50
специально для начинающих напомню, что вложенные запросы использовать не рекомендуется. Вместо этого лучше использовать временные таблицы.
7 vi0
 
07.07.19
16:25
(6) ошибаешься
8 PiotrLoginov
 
07.07.19
17:23
(6) (7) только холивар не начинайте. не стоит того.
9 Маленький Вопросик
 
07.07.19
17:53
(6) что за ерунда... а вложенный запрос по ВТ тоже не рекомендуется?
10 vi0
 
07.07.19
18:03
(8) если захочется то начнем, будь уверен
11 НичегоНе Понятно
 
08.07.19
05:31
(10)Начинайте уже скорее
12 Сияющий в темноте
 
08.07.19
08:56
(6)если во вложенном запросе нет группировки или упорядочивания,то sql такую вложенность выполняет прозрачно,не накапливая данные запроса,в этом случае,временная таблица будет не к месту,а если результаты накапливаются,то вынос во временную таблицу позволяет серверу более грамотно работать с данными,т.к.не будет попытки анализп двух запросов планировщиком одновременно.
кроме того,во временной таблице можно указать индексирование,что позволяет ускорить соединение с другими таблицами.
на самом деле,если планировщик отработает правильно,то он сам может и временную таблицу создать и индексирование применить.
у вложенных запросов одно преимущество-их читать удобнее.
13 Hillsnake
 
08.07.19
08:59
(7) временные таблицы, лишь тем хороши, что сильно повышается читаемость запроса, юный "поддаван".
14 ДенисЧ
 
08.07.19
09:11
(13) Не, о старый поддаван. Не только этим. Далеко не только.
15 Smile 8D
 
08.07.19
09:28
(0) Быстрее и удобнее писать запросы, используя конструктор запросов. И подобных ошибок не возникнет. Есть, конечно, редкие случаи, когда удобнее редактировать запрос прямо в тексте.
(12) Всегда считал, что удобнее читать как раз временные таблицы, особенно в конструкторе запросов.
16 Hillsnake
 
08.07.19
10:12
(14) да,  я чета  не совсем правильно фразу построил. ПереЙодил немного.
17 Simod
 
08.07.19
10:29
(0) Второй запрос здесь не нужен. Совсем.
18 vi0
 
08.07.19
11:48
(12) каша у тебя в голове, конечно, но не без здравых мыслей
19 hhhh
 
08.07.19
11:51
(14) чего, все эти ребята поддают?
20 НичегоНе Понятно
 
08.07.19
17:01
(19)грибы?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.