Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:20

банальная выборка не работает

Автор agusikdeon, 17 апр 2011, 23:57

0 Пользователей и 1 гость просматривают эту тему.

agusikdeon


вот запрос
ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг,
РегистрСведений.НастройкиГрупповойПечатиНакладных.СрезПоследних КАК НастройкиГрупповойПечатиНакладныхСрезПоследних,
(ВЫБРАТЬ
РеализацияТоваровУслуг.Ссылка КАК Ссылка
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг,
РегистрСведений.НастройкиГрупповойПечатиНакладных.СрезПоследних КАК НастройкиГрупповойПечатиНакладныхСрезПоследних

СГРУППИРОВАТЬ ПО
РеализацияТоваровУслуг.Ссылка) КАК ВложенныйЗапрос
ГДЕ
РеализацияТоваровУслуг.Ссылка <> ВложенныйЗапрос.Ссылка

СГРУППИРОВАТЬ ПО
РеализацияТоваровУслуг.Ссылка

УПОРЯДОЧИТЬ ПО
РеализацияТоваровУслуг.Номер

вложенный запрос выбирает 9 документов
по идее сам запрос должен выдать все документы за исключением этих 9-ти.
но выдает абсолютно все
не пойму почему...

***Vjacheslav***

Не совсем понятно что вы хотите выбрать этим запросом? уточните. И еще зачем вы добавляете таблицу РегистрСведений.НастройкиГрупповойПечатиНакладных.СрезПоследних, если все равно из нее ни чего не выбираете?

Klyacksa

Приветствую!
Запрос написан не правильно, абсолютно бессвязно - нет связей между таблицами, и не понятно, зачем вообще используется вложенный запрос.

Уточните, какие именно данные должен выбрать вложенный запрос?
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

agusikdeon

ошибся при копировании(вот такой был запрос)

ВЫБРАТЬ
   РеализацияТоваровУслуг.Ссылка
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
         РеализацияТоваровУслуг.Ссылка КАК Ссылка
      ИЗ
         Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг,
         РегистрСведений.НастройкиГрупповойПечатиНакладных.СрезПоследних КАК НастройкиГрупповойПечатиНакладныхСрезПоследних
      ГДЕ
         НастройкиГрупповойПечатиНакладныхСрезПоследних.Организация = РеализацияТоваровУслуг.Организация
         И НастройкиГрупповойПечатиНакладныхСрезПоследних.Контрагент = РеализацияТоваровУслуг.Контрагент
      
      СГРУППИРОВАТЬ ПО
         РеализацияТоваровУслуг.Ссылка) КАК ВложенныйЗапрос
      ПО (ВложенныйЗапрос.Ссылка <> РеализацияТоваровУслуг.Ссылка)

СГРУППИРОВАТЬ ПО
   РеализацияТоваровУслуг.Ссылка

УПОРЯДОЧИТЬ ПО
   РеализацияТоваровУслуг.Номер

вложенный запрос выбирает только те документы которые соответствуют условию
НастройкиГрупповойПечатиНакладныхСрезПоследних.Организация = РеализацияТоваровУслуг.Организация
         И НастройкиГрупповойПечатиНакладныхСрезПоследних.Контрагент = РеализацияТоваровУслуг.Контрагент
их получается 9 штук.
далее я хочу из всего списка документов выбрать все документы кроме этих 9-ти.
тоесть условно запрос можно сформулировать так:вложенный запрос по определенному условию выбирает определенное количество документов, а сам запрос выводит все документы кроме тех которые были выбраны в вложенном запросе


Klyacksa

Так... жуткий какой-то запрос. Не понятно, зачем подзапрос вообще - можно же просто выбрать сразу доки, не отбирая отдельно эти ваши 9...
И условие подзапроса лучше делать не в "ГДЕ", а в соединении таблиц.
То есть, я так поняла, нужно отобрать документы, у которых нет соответствующих (по Контрагенту и Организации) строк в таблице НастройкиГрупповойПечатиНакладныхСрезПоследних
Как-то так:
"ВЫБРАТЬ
        РеализацияТоваровУслуг.Ссылка КАК Ссылка
     ИЗ
        Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ  РегистрСведений.НастройкиГрупповойПечатиНакладных.СрезПоследних КАК НастройкиГрупповойПечатиНакладныхСрезПоследних
        ПО (РеализацияТоваровУслуг.Организация=НастройкиГрупповойПечатиНакладныхСрезПоследних.Организация
            И РеализацияТоваровУслуг.Контрагент=НастройкиГрупповойПечатиНакладныхСрезПоследних.Контрагент)
     ГДЕ
           НастройкиГрупповойПечатиНакладныхСрезПоследних.Организация ЕСТЬ NULL
     
     СГРУППИРОВАТЬ ПО
        РеализацияТоваровУслуг.Ссылка

     УПОРЯДОЧИТЬ ПО
        РеализацияТоваровУслуг.Номер"


Примечание. Данным условием "ГДЕ", отбираем как раз те строки и те РТУ, к которым не смогли подобрать настройки по Организации и Контрагенту из регистра.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск