Можем ли мы использовать в абзаце результаты оператора 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, «Создание виртуальных атрибутов».