Jump to content


Photo

While Dentro De While


  • Faça o login para participar
2 replies to this topic

#1 danceman

danceman

    Mario Safado ¬¬

  • Usuários
  • 228 posts
  • Sexo:Não informado

Posted 18/04/2007, 13:31

Boa tarde.

eu estou fazendo uma consulta ao meu banco, eu esta usando while dentro de while ae eu pensei q daria para fazer tudo no sql mesmo + não sou mto bom nessa parte alguem poderia me dar uma ajudinha.

é assim

cliente X é relacionado com distribuidor X
que é relacionado com laboratorio x que por fim é relacionado com produtos x


as tabelas são essas

tbclidistr ( Relacionamento cliente distribuidor)
idCli
idDis
 tbdislab ( Relacionamento distribuidor com laboratório)
cod_dis
cod_lab
 tbprodlab ( relacionamento laboratório produto)
cod_prod
cod_lab

desde já mto obrigado :thumbsup:
Posted Image

#2 Evitark

Evitark

    Normal

  • Usuários
  • 67 posts
  • Sexo:Masculino

Posted 18/04/2007, 14:11

Ficaria mais fácil se você colocasse a estrutura das tabelas aqui...
Mas de qualquer forma, supondo que você quer pegar todas as informações das 4 tabelas, e que precisa dessas informações de um produto, seria assim:

SELECT A.*, B.*, C.*, D.* FROM tbClientes A
INNER JOIN tbDistribuidores B ON A.coddist=B.coddist
INNER JOIN tbLaboratorios C ON B.codlab=C.codlab
INNER JOIN tbProdutos D ON C.codprod=D.codprod
WHERE codprod=50

A "idéia" é mais ou menos essa, usar o INNER JOIN para ir "juntando" as tabelas.

Contudo, posso estar errado, mas olhando por cima me pareceu que esse DB tem relacionamentos N-N (muitos para muitos), e nesse caso é preciso "inserir" uma tabela para relacionar as duas.

Enfim, certeza que você terá que adaptar o código... se tiver algum problema, coloque aqui a estrutuda das tabelas e exatamente quais informações do DB você quer, aí fica mais fácil te ajudar com o código ;)

#3 danceman

danceman

    Mario Safado ¬¬

  • Usuários
  • 228 posts
  • Sexo:Não informado

Posted 18/04/2007, 14:31

é assim

eu quero pegar os produtos relacionados ao "cliente"
so que para estar relacionado com o cliente ele esta relacionado com outras coisas primeiro

produto relacionado a um laborátorio
laborátorio relacionado a um distribuidor
e distribuidor esta relacionado ao cliente logado

vou testar aki
vlws

eu estou fazendo assim + ele fala que a tabela clientes não existe hehehe

SELECT tbprodutos.Id as Idprod, tbprodutos.cod_barras as codbarras,tbprodutos.descricao as descriprod, tbclidistr.idDis, tbdislab.cod_lab, tbclientes.Id as idcliente FROM tbprodutos INNER JOIN tbprodlab ON (tbprodlab.cod_prod = tbdislab.cod_lab) INNER JOIN tbdislab ON (tbdislab.cod_lab = tbclidistr.idDis) INNER JOIN tbclidistr ON (tbclidistr.idDis =  tbclientes.Id) WHERE tbclientes.idcliente = 1

Posted Image




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq