Pessoal, não achei uma descrição melhor para esta thread, mas vamos ver se
podem me ajudar.
Tenho o seguinte select:
select a.data_ven, b.nome as empresa, c.nome as funcionario, a.externo,
a.cod_id, a.codigo, d.descricao, a.qtd_item , (a.valor_ven * a.qtd_item) as
valor_ven,
coalesce(e.exame, 'Não Informado') as exame
from mv_servicos_balcao a
inner join mv_clientes b on(b.cod_id = a.cod_id)
inner join mv_funcionarios c on(c.cod_id = a.cod_id)
and(c.cod_idfun = a.cod_idfun)
inner join mv_produtos d on(d.codigo = a.codigo)
left join mv_servicos_aso e on(e.cod_id = a.cod_id)
and(e.controle = a.controle)
and(e.obs not in('C'))
where (a.obs not in('C'))
and(a.data_ven between '2011-03-01' and '2011-03-31')
order by a.cod_id, a.codigo
No COALESCE coloquei “Não Informado” porque pode ser que não haja o pedido na
tabela “e”
O Detalhe é que esse serviço pode estar em outra tabela
Dessa forma eu teria que verificar se o exame esta na tabela ASO ou ACD que não
esta neste select
Seria mais ou menso assim:
Tenho duas tabelas “mv_servicos_aso” e “mv_servicos_acd” as duas tem a mesma
estrutura, mas uma guarda um tipo de exame e a outra, outro.
Preciso incluir no select de tal forma que se ele não achar em uma tabela ele
procure na outra.
Não sei se fui claro, espero que sim, mas vou colocar a grosso modo
SELECT A.DESCRICAO, B.EXAME, C.EXAME FROM TABELA A
LEFT JOIN TABELA B ON(B.CODIGO = A.CODIGO)
LEFT JOIN TABELA C ON(C.CODIGO = A.CODIGO)
Vejam que o resultado seria EXAME em linha, mas preciso em coluna, mas dentro
do select inicial
Desculpem o tamanho do email
Marcelo Silva
------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral