Subquery

Estou precisando de uma ajuda… No sql abaixo, eu preciso encontrar todos o ‘cod_exemplar’ que tenha registro ‘cod_local_exemplar’ = 63 e dentro desta listagem mostre também ‘cod_exemplar’ que tenha registro ‘cod_local_exemplar’, isto é uma tabela de log, ou seja, preciso pegar todas os exemplares que sofreram esta alteração de status.

Alguém pode me ajudar… O que eu fiz está errado…

SELECT cod_exemplar, cod_local_exemplar
FROM hist_local_exemplar
where cod_local_exemplar = 0 and
cod_exemplar = (SELECT cod_exemplar
FROM hist_local_exemplar
where cod_local_exemplar = 63 )

Não compreendi muito bem seu questionamento! Mas não seria trocar o operador lógico “AND” por “OR”?

Teria como mostrar uma tabela com os dados com as 2 situações? Para vermos seu universo.

SELECT
cod_exemplar,
cod_local_exemplar
FROM
hist_local_exemplar
WHERE
cod_local_exemplar = 63 OR (cod_exemplar = cod_local_exemplar)

Isso foi o que imaginei pelo enunciado “Onde ‘cod_local_exemplar’ = 63 e mostre também ‘cod_exemplar’ que tenha registro ‘cod_local_exemplar’.”