Consulta selecionando campos por uma condição

Firebird

16/05/2006

Ola

Amigos meu problema é o seguinte tenho um tabela produto com os campo, preco1, preco2, preco3, preco_promocao, data_inicio_promocao e data_final_promocao.

Essas informações aparecem em um dbgrid para consulta. Mas meu cliente reclama que o preço de promocao aparece na consulta mesmo que o periodo da promocao ja tenha passado.

Meu problema é esse. Preciso que o preco_promocao aparece zero quando nao tiver no periodo da promocao. Sinceramente nao sei como fazer isso. Não tenho idéia de como dar um select que mostre essas informaões desta forma.

Mais uma vez obrigado

Marcos Roberto


Marcosrodias

Marcosrodias

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

16/05/2006

se vc estiver usando FB a partir de 1.5 ou interbase a partir de 7, tente assim:
select
  [lista de campos,]
  preco1,
  preco2,
  preco3,
  case
    when current_date between data_inicio_promocao and data_final_promocao
    then preco_promocao
    else 0
  end preco_promocao
from
  produto
[where
  ...]



GOSTEI 0
Marcosrodias

Marcosrodias

16/05/2006

Valeu emerson. Funcionou corretamante. Grato mais uma vez pela colaboracao

Marcos


GOSTEI 0
POSTAR