[firebase-br] ajuda em select pra varias tabelas

Raul Iavelberg raul.iavelberg em itelefonica.com.br
Sex Nov 5 14:43:25 -03 2004


Hernando,

Para evitar linhas repetidas digite "SELECT DISTINCT...(o resti segue 
igual...."

[]s
Raul

Hernando wrote:

> bom tarde a todos!
>
> estou montando um select que será usado em um relatorio, no caso eu 
> preciso selecionar varios campos em varias tabelas e quero a ajuda de 
> vc´s pq na visualisação há registros repitidos  pelo que tá sendo 
> mostrado parece que tá sendo feito uma combinação de todos os campos 
> tipo:
>
> 1001    operação A           2,15         1001   operação B           
> 7,25
> 1002    operação c           3,18
> 1002    operação D          0,99
> 1002    operacao B         3,18
> 1002    operacao a          0,99
>
> e assim sucessivamente, pelo que vi parece que ele está combinando os 
> campo com todas combinações(valores) possiveis.
> quando na verdade o que eu queria seria:
>
> selecione na tabela g  where idproduto = 10001  /// o produto
> selecione na tablea  f where idproduto= g.idproduto   ////tabela  onde 
> amarro os  componentes  nos produtos
> selecione na tabela  c where idproduto=g.idproduto  /////tabela onde 
> amarro as operações ao produto(internas)
> seleccione na tabela d where cdcomponente = c.cdcomponente   //// pra 
> poder pegar na tabela d a descrição das operações         que estão na 
> tablea c
> e assim sucessivamente.
>
> vejam como estou fazendo:
>
> select a.descricao, a.peso, b.quantidade as quantb, c.quantidade as 
> quantc, c.prep, c.exec, c.tot, d.descricao as descd, d.equipamento, 
> e.descricao as desce, e.custo, f.quantidade as qtf, g.idproduto, 
> g.descricao as descg, h.preco from produto g  JOIN comproduto F ON 
> (F.idproduto = G.idproduto) join opintproduto C ON(C.idproduto = 
> G.idproduto) JOIN servicointerno D ON (D.cdinterno = C.cdinterno)join 
> componente a on (a.cdcomponente = f.cdcomponente)   JOIN opextproduto 
> B ON (B.idproduto = g.IDPRODUTO) join servicoexterno e on (e.cdservico 
> = b.cdservico) join materiaprima h on (h.cdmateria = a.cdmateria)  
> where g.idproduto = 10001;
>
> no caso há tabelas que não terão o mesmo numero de registro como 
> resultado, daí a farofa que tá sendo feita na query.
>
> D5/ FB 1.0
>
> Hernando
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>




Mais detalhes sobre a lista de discussão lista