我有 2 个数据库表
JOBS(JOB_ID, JOB_TIME, JOB_NAME,...), JOB_PARAMETERS(JOB_ID,NAME,VALUE)
其中 JOB_PARAMETERS 本质上是一个包含作业参数键值对的映射。每个作业都可能有一个唯一的参数键/值对。
我希望务实地构建一个查询,该查询将返回包含键/值组合的不同作业 ID。这些值实际上是一个值列表,比较运算符。例如:
JOB_PARAMETERS: NAME = 'OUTPUT_FILENAME', VALUE LIKE "ALEX%", "JAX%"
NAME = 'PRIORITY' , VALUE > 7
上面的示例将自动过滤掉所有没有 OUTPUT_FILENAME 和 PRIORITY 键的作业。返回满足这两个条件的所有工作。
我还需要能够支持分页和排序。
我计划将 Perl 与 DBIx::Class 一起使用,但我也可以在纯 Perl/SQL 中完成。
我愿意更改数据库架构,但每个作业都可以有不同的键/值对,所以我不能只在作业表中将它们设为列。
提前致谢。