Fórum Consulta com dois IN #508298
23/01/2015
0
Em minha tabela tenho gravo os Id's para consulta da seguinte forma (5,6,8), certo? a classe recebe um Join e grava tudo por virgula, para eu recuperar esse valores eu criou a consulta com o IN, porem eu preciso efetuar uma segunda consulta dessas, preciso ter dois IN na mesma consulta, tentei de varias formas, alguem poderia, por favor, dar uma ajuda de como posso fazer isso?
Obrigado!
Daniel
Curtir tópico
+ 0Posts
26/01/2015
Thiago Cruz
Gostei + 0
26/01/2015
Ronaldo Lanhellas
Em minha tabela tenho gravo os Id's para consulta da seguinte forma (5,6,8), certo? a classe recebe um Join e grava tudo por virgula, para eu recuperar esse valores eu criou a consulta com o IN, porem eu preciso efetuar uma segunda consulta dessas, preciso ter dois IN na mesma consulta, tentei de varias formas, alguem poderia, por favor, dar uma ajuda de como posso fazer isso?
Obrigado!
Seria mais fácil se vocÊ postasse a sua consulta, mesmo errada.
Gostei + 0
26/01/2015
Daniel
Busquei muito a solução em fóruns e no próprio site da MySql e vi muita gente falando a mesma coisa que se possível seria normalizar estas estruturas , estruturas do tipo lista complicam buscas de forma, acabei tendo que fazer algumas modificações.
De qualquer forma vou colocar aqui como eu estava fazendo.
--------------------
É uma lista de produtos, quando listados, mostra os produtos que estão com desconto, a sequencia de leitura é a seguinte:
1) Lista todos os produtos (produtos)
2) Lista todos os tamanhos desses produtos (tamanhos)
3) Lista os preços dos produtos para cada tamanho (precos)
O que eu fiz, primeiro listei todos os produtos
SELECT * FROM produtos WHERE id_categoria = idcateg AND status = 1
Depois peguei todos os produtos que fazem parte do desconto, esses produtos estão em uma coluna aonde todos os produtos em promoção são gravados através de um Join com virgula, os ids dos produtos e em outra os ids dos tamanhos, então a leitura seria assim (idprodutos = 5,2,7) e (idtamanhos = 1,2,3), então eu encontro os produtos da seguinte forma.
SELECT * FROM desconto d, produtos p WHERE p.Id IN (d.id_produtos)")
E por ultimo encontro os tamanhos a qual o cliente deu o desconto:
SELECT * FROM desconto d, tamanhos t WHERE (d.id_tamanho) IN (t.id_tamanho)")
É a primeira vez que utilizo essa forma por isso estou perdido em como achar os descontos nos produto e tamanhos solicitados.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)