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

Responder a