none
Select join dentro do case RRS feed

  • Pergunta

  • Olá,

    É possível fazer um select join dentro de um case ?Vou postar o código:

    select m.ArquivoOrdemMov,m.ContadorAgenteMov,m.DataMov,m.SeqOrdemMov,m.SeqProduto,m.SaldoTotalMov,p.DescricaoProduto ,case when m.ArquivoOrdemMov='OC'then 'Preço'

    /*em vez de preço,preciso fazer o um select : select ci.CustoOCItem from OCItem ci join OC c on c.SeqOC=ci.SeqOC */

    from Mov m

    join MovFisica f on m.SeqMovFisica=f.SeqMovFisica

    join OC c on m.ContadorAgenteMov=c.ContadorAgenteOC

    join Produto p on m.SeqProduto=p.SeqProduto

    where m.ArquivoOrdemMov='OC' and c.SituacaoOC='FECHADA'

    quinta-feira, 18 de março de 2021 16:19

Todas as Respostas

  • Boa tarde,

    Você pode utilizar uma subquery mas ela deve retornar somente um valor.

    Segue uma sugestão para testes:

    case when m.ArquivoOrdemMov = 'OC'
        then 
            (select ci.CustoOCItem from OCItem ci 
             where c.SeqOC = ci.SeqOC)
    end 

    Se a subquery retornar mais de um valor, você pode tentar acrescentar a clausula Top ou mais filtros para limitar o resultado a um valor.

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    quinta-feira, 18 de março de 2021 17:08