Eu tenho uma tabela que contém um ID na coluna um e esse ID pode ter até 30 códigos e datas diferentes associados a ele.
ID | CÓDIGO_1 | CÓDIGO_1_DATA | CÓDIGO_2 | CODE_2_DATE | CÓDIGO_3 | CÓDIGO_3_DATA
Aqui está a única maneira que consigo fazer isso, que não parece eficiente e também não captura a data:
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')
É assim que eu gostaria que o código fosse executado:
SELECT ID, CODE, CODE_DATE
FROM CDHISTTBL
WHERE ID = 'J12999' AND CODE = 'AB99'
Existe uma maneira de executar esta consulta para simplesmente retornar o ID, o código e o valor de data correspondente sem precisar verificar especificamente cada combinação de ID + código?