Можем ли мы использовать в абзаце результаты оператора SELECT в других критериях SELECT?

Есть ли способ взять результаты одного оператора SELECT внутри абзаца и использовать их в другом операторе SELECT?

Например, если у меня есть следующий оператор SELECT:

      SELECT PROGRAM.REQ WITH CREDITS GT 0 AND CREDITS LT 15
SAVING UNIQUE PROGRAM.REQ.PROG.ID 
SAVE.LIST SHORT.PROGRAMS

Могу ли я затем взять сохраненный список SHORT.PROGRAMS и использовать его в другом операторе SELECT, например:

      SELECT PROGRAMS WITH PROGRAM.ID
<in the savedlist SHORT.PROGRAMS>

Я попытался найти в руководстве «Использование UniQuery 8.23» ключевые слова или примеры, которые могли бы помочь, но безуспешно. Есть ли лучшее руководство или руководство, в котором конкретно обсуждаются возможности EVAL?

Прямо сейчас я вручную беру результаты и помещаю их в оператор выбора. Итак, если оператор SELECT 1 возвращает один два три, я просто делаю:

      SELECT PROGRAMS WITH PROGRAM.ID
EQ 'One' 'Two' 'Three' 

Это работает для моих целей, но кажется очень неэффективным. Спасибо!

2 ответа

Кстати, списки выбора также можно использовать в UniverseSQL.

В качестве критериев можно использовать LT и GT и их варианты, но SQL также поддерживает BETWEEN.

      SELECT DISTINCT PROGRAM.REQ.PROG.ID TO SLIST 'SHORT.PROGRAMS' 
FROM PROGRAM.REQ WHERE CREDITS BETWEEN 1 AND 14

Затем используйте GET.LIST, как советовал Ян Макгоуэн, чтобы активировать список в следующем предложении запроса.

Списки выбора можно применять и в UniverseSQL. Хотя этот конкретный запрос несколько избыточен в данном контексте, они определяются следующим образом.

      SELECT PROGRAM.ID FROM PROGRAMS SLIST 'SHORT.PROGRAMS'

Этот запрос можно использовать с помощью записи @SELECT в DICT PROGRAM.

      SELECT * FROM PROGRAMS SLIST 'SHORT.PROGRAMS'

Прежде чем выполнять другую команду, которая должна использовать сохраненный список, выполните:

      GET.LIST SHORT.PROGRAMS
<LIST OR SORT that uses that set of keys>

Из TCL, HELP SAVE.LIST и HELP GET.LIST для получения более подробной информации или для каждой команды есть раздел в «Справочнике по уникальным командам версии 8.2.4».

Дополнительную информацию об EVAL и различных параметрах см. в разделе «Использование Unidata v 8.2.4», глава 5, «Создание виртуальных атрибутов».

Другие вопросы по тегам