Текущее время: Пт, июл 18 2025, 10:00

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Ссылка на внутренную таблицу в подзапросе
СообщениеДобавлено: Вт, апр 10 2007, 15:06 
Начинающий
Начинающий

Зарегистрирован:
Пт, мар 23 2007, 10:58
Сообщения: 7
Откуда: Санкт-Петербург
Добрый день, коллеги. Я пытался использовать ссылку на внутренную таблицу в подзапросе, но это работает как то странно, выбирает некоторые ненужные записи, а нужные не выбирает, причем не всегда, а как то выборочно:roll: ... Пример кода такой:
Code:
SELECT
   table_1~a
   table_1~b
INTO TABLE
   selected_data
FROM
   table_1
FOR ALL ENTRIES IN
   itab
WHERE
   table_1~c EQ itab-c
AND
EXISTS (
      SELECT
        table_2~d
      FROM
        table_2
      WHERE
        table_2~e EQ itab~e   
        AND
        table_2~d EQ table_1~d
      ).

Имеет ли вообще такая конструкция право на жизнь?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 15:23 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Леша, ты бы указал, какие поля являются ключевыми для каждых таблиц, легче было бы понять.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 15:39 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
а еще бы несколько строк из каждой таблицы, чтобы пояснить "это работает как то странно, выбирает некоторые ненужные записи, а нужные не выбирает, причем не всегда, а как то выборочноRolling Eyes"

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 15:40 
Начинающий
Начинающий

Зарегистрирован:
Пт, мар 23 2007, 10:58
Сообщения: 7
Откуда: Санкт-Петербург
Хорошо)) вот мой запрос полностью:
Code:
  SELECT
   bsid~kunnr
   bsid~vertn
   bsid~dmbtr
   bsid~shkzg
   bsid~blart
   bsid~bldat
   bsid~belnr
   bsid~gjahr
   bsid~buzei
   bkpf~cputm
  INTO TABLE
   finans_data
  FROM
   bsid INNER JOIN  bkpf ON bsid~bukrs EQ bkpf~bukrs
                    AND bsid~belnr EQ bkpf~belnr
                    AND bsid~gjahr EQ bkpf~gjahr
  FOR ALL ENTRIES IN
   lt_finans_table_data
  WHERE
   kunnr EQ lt_finans_table_data-kunnr
   AND
   bkpf~bukrs EQ '0101'
   AND
   bkpf~bldat IN date
   AND
   EXISTS (
         SELECT
           draw~zzkunnr
         FROM
           draw
         WHERE
           draw~doknr   EQ lt_finans_table_data-doknr
           AND
           draw~zzkunnr EQ lt_finans_table_data-kunnr
           AND
           draw~zzlifnr IN s_zzlifnr
         ).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 16:06 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
на первый взгляд возможные проблемы, что ни в условии FOR ALL ENTRIES IN,
ни в EXISTS нет полного ограничения в условии по ключу.

надо бы убрать для начала EXISTS и посмотреть, почему попадают лишние документы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 16:10 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Возможно, я консерватор, но не проще заранее отфильтровать таблицу lt_finans_table_data, чем скрупулезно искать глюки?


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB