我有一个表,其中第一列包含一个 ID,该 ID 最多可以有 30 个不同的代码和与其关联的日期。
身份证 | 代码_1 | 代码_1_日期 | 代码_2 | 代码_2_日期 | 代码_3 | 代码_3_日期
这是我能想到的唯一方法,这似乎效率不高,而且也无法捕获日期:
SELECT ID, CODE_1, CODE_2, CODE_3
FROM CDHISTTBL
WHERE (ID = 'J12999' AND CODE_1 = 'AB99') or (ID = 'J12999' AND CODE_2 = 'AB99') or (ID = 'J12999' AND CODE_3 = 'AB99')
这就是我希望代码执行的方式:
SELECT ID, CODE, CODE_DATE
FROM CDHISTTBL
WHERE ID = 'J12999' AND CODE = 'AB99'
有没有一种方法可以执行此查询以简单地返回 ID、Code 和相应的日期值,而无需专门检查每个 ID+Code 组合?