[firebase-br] AJUDA EM SELECT

Wilson Azambuja tec.info.wilson em gmail.com
Sex Out 27 02:09:39 -03 2006


Cesar...
Único modo de mostrar os dados sem duplicar é fazendo um union marcando o
tipo de cada seleção.

No exemplo abaixo ele listou todos os itens sem duplicar e mostrando 'S'
para servico e 'P' para pecas

SELECT S.COD_CLI,S.DATA,SS.*,'S'AS TIP FROM SAIDA_SERVICO SS,SAIDA S WHERE
S.COD_SAIDA=SS.COD_SAIDA AND SS.COD_SAIDA=:COD
UNION
SELECT S.COD_CLI,S.DATA,SP.*,'P'AS TIP FROM SAIDA_PECAS SP,SAIDA S WHERE
S.COD_SAIDA=SP.COD_SAIDA AND SP.COD=:COD



Em 23/10/06, Cesar <cesar_newton em yahoo.com.br> escreveu:
>
> eu quero pegar os dados de 3 tabelas...
> por exempo
> SAIDA, SAIDA_PECAS,  SAIDA_SERVICO
> na tabela SAIDA tem os dados :  COD_SAIDA, COD_CLIENTE, DATA, OBS
> na tabela SAIDA_PECAS :     COD_SAIDA,COD_PECAS,QUANTIDADE,VALOR
> na tabela SAIDA_SERVICO :   COD_SAIDA,COD_SERVICO,QUANTIDADE,VALOR
> ai na tabela de SAIDA tem os seguites cadastros
> COD_SAIDA       COD_CLIENTES           DATA
> 0001                           0007                         10/10/06
> 0002                           0020                         10/10/06
> 0003                           0015                         10/10/06
>
> ai na tabela SAIDA_PECAS tem
> COD_SAIDA         COD_PECAS        QUANTIDADE        VALOR
>   0001                       0005                       003
> 5,70
>   0001                       0010                       005
> 2,60
>   0002                       0014                       001
> 7,54
>   0003                       0017                       009
> 4,60
>   0003                       0021                       010
> 1,20
>
> ai na tabela SAIDA_SERVICO tem
> COD_SAIDA         COD_SERVICO     QUANTIDADE        VALOR
>   0001                       0001                       001
> 35,70
>   0003                       0002                       001
> 44,30
>   0003                       0004                       001
> 11,20
>
> AGORA estou fazendo este select para me dar o resultado da minha consulta
>
> Select
>    saida_pecas.cod_peca, saida_pecas.quantidade, saida_pecas.valor,
>    saida_servico.cod_servico, saida_servico.quantidade,
> saida_servico.valor
> from
>
>    saida
> left join
>    saida_pecas   on (saida_pecas.cod_saida = saida.cod_saida)
> left join
> saida_servico on (saida_servico.cod_saida = saida.cod_saida)
> Where saida.cod_saida = :parcod
>
> mais ai se o resultado da minha consulta na tabela SAIDA_PECAS estiver 2
> itens com a saida  por exemplo 0001 e na tabela SAIDA_SERVICOS tiver 1
> itens
> com a saida 0001
> ele vai repetir o iten da tabela SAIDA_SERVICO
> tem como fazer um select para arrumar isso?
> obrigado
>
>
>
> _______________________________________________________
> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
> Registre seu aparelho agora!
> http://br.mobile.yahoo.com/mailalertas/
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Att. Wilson
Téc. Info.
Girotto Infomática Ltda.
Tel: 3348.4494



Mais detalhes sobre a lista de discussão lista