У меня есть 2 таблицы базы данныхВыбор различных значений из пар ключ/значение в отдельной таблице
JOBS(JOB_ID, JOB_TIME, JOB_NAME,...), JOB_PARAMETERS(JOB_ID,NAME,VALUE)
где JOB_PARAMETERS существу карта, содержащая параметр задания пары значение ключа. Каждое задание может иметь уникальные пары параметров/значений параметров.
Я ищу, чтобы прагматично построить запрос, который будет возвращать разные идентификаторы задания, содержащие комбинации клавиш/значений. Где значения фактически представляют собой список значений, операторов сравнения. Например:
JOB_PARAMETERS: NAME = 'OUTPUT_FILENAME', VALUE LIKE "ALEX%", "JAX%"
NAME = 'PRIORITY' , VALUE > 7
Приведенный выше пример будет автоматически отфильтровывать все задания, которые не имеют ключа Файл_вывода и ПРИОРИТЕТ. Возврат всех заданий, соответствующих обеим условиям.
Я также должен иметь возможность поддерживать разбивку на страницы и порядок.
Я планировал использовать Perl с DBIx :: Class, но я могу сделать это и в чистом Perl/SQL.
Я открыт для изменения схемы базы данных, но каждое задание может иметь разные пары ключ/значение, поэтому я не могу просто сделать их столбцами в таблице заданий.
Заранее спасибо.
являются имена параметров уникальны для данной работы? – a1ex07
Да, они должны быть уникальными – Smartelf