[firebase-br] ajuda em select pra varias tabelas
Josauro S.J.
josauro em casasoft.inf.br
Sex Nov 5 14:57:06 -03 2004
Use Left Join assim a tabela Produto é a mandatória, senão voce vai ter um monte de combinações.
Josauro S.J.
Diretor
josauro em casasoft.inf.br
----- Original Message -----
From: Hernando
To: FireBase
Sent: Friday, November 05, 2004 12:11 PM
Subject: [firebase-br] ajuda em select pra varias tabelas
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