Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bdexterholland

select retorna campos de acordo com o valor do campo

Recommended Posts

Olá,

 

Estou tentando realizar uma consulta para buscar dados mas a consulta deve retornar campos diferentes de acordo com o valor do mesmo. A situação:

Em um sistema de locadora, tenho uma tabela de midias e uma tabela de vigencias de preços. Na tabela de vígencias cadastro a data de início dos preços alí informados. Estou tentando montar minha consulta que retorne o campo de preço padrão (vig_Preco) se a data limite para a mídia ser considerada lançamento (mid_LimiteLancamento) for maior que a data de ínicio do registro da tabela de preços.

 

A consulta abaixo retorna 2 para cada condição de consulta: se LimiteLancamento maior ou menor.

 

SELECT (IF(CURDATE() > mid_LimiteLancamento, vig_Preco, vig_Lancamento)) AS mid_Preco
FROM loc_Midias
INNER JOIN loc_vigencias ON (mid_codigo = vig_midia) OR (mid_Tipo = vig_Tipo) OR (mid_Genero = vig_Genero)
WHERE mid_Codigo = 1053

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema não está de fato relacionado a datas, ontem a noite eu finalmente percebi que a consulta retornou 2 porque 2 registros atendiam os critérios. Agora eu preciso redesenhar a lógica dos critérios para garantir que retorne apenas 1 registro ou, pelo menos, facilite a identificação do registro correto (mais recente de acordo com o critério)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.