Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select
- 'UPDATE iprecos SET DATA_ULT = ''25.02.2016 12:30'', validade_inicial = ''02.04.2016 23:59'' WHERE cpreco = ' || idPorFuturo || ';' as updatePrecoFuturo,
- 'UPDATE iprecos SET DATA_ULT = ''25.02.2016 12:30'', validade_final = ''01.04.2016 23:59'' WHERE cpreco = ' || idPorAtual || '; -- ' as updatePrecoAtual,
- tb.produto,
- tb.cod_produto,
- tb.descricao_literal,
- pAtual.preco as precoAtual,
- pAtual.validade_final as validadeFinal,
- pFuturo.preco as precoFuturo,
- pFuturo.validade_inicial as validadeInicial
- from (
- select
- p.produto,
- p.cod_produto,
- p.descricao_literal,
- (
- -- Anterior
- select first 1 cpreco from iprecos where produto = p.produto
- and tabela = 3
- and VALIDADE_FINAL <= cast('Now' as date)
- ) as idPorAnterior,
- (
- -- Atual
- select first 1 cpreco from iprecos where produto = p.produto
- and tabela = 3
- and cast('Now' as date) >= VALIDADE_INICIAL and cast('Now' as date) <= VALIDADE_FINAL
- ) as idPorAtual,
- (
- -- Próximos
- select first 1 cpreco from iprecos where produto = p.produto
- and tabela = 3
- and VALIDADE_INICIAL > cast('Now' as date)
- ) as idPorFuturo
- from produtos p
- where
- p.cod_produto in (
- '1936',
- '1904',
- '1923',
- '1915',
- '1916',
- )
- ) as tb
- left join iprecos pAtual on pAtual.cpreco = idPorAtual
- -- left join iprecos pAtual on ((pAtual.cpreco = idPorAtual and pAtual.cpreco is not null) or ((pAtual.cpreco = idPorAnterior and pAtual.cpreco is null)) )
- left join iprecos pFuturo on pFuturo.cpreco = idPorFuturo
- -- where cod_produto = '1924'
- order by
- pFuturo.validade_inicial asc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement