У меня есть 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
В приведенном выше примере будут автоматически отфильтрованы все задания, у которых нет OUTPUT_FILENAME и ключа PRIORITY. Возврат всех заданий, отвечающих обоим условиям.
Мне также нужно иметь возможность поддерживать нумерацию страниц и порядок.
Я планировал использовать Perl с DBIx::Class, но я могу сделать это и на чистом Perl/SQL.
Я открыт для изменения схемы базы данных, но каждое задание может иметь разные пары ключ/значение, поэтому я не могу просто сделать их столбцами в таблице заданий.
Заранее спасибо.