Consulta com dois IN

MySQL

23/01/2015

Ola pessoal, estou precisando de uma ajuda.

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

Daniel

Curtidas 0

Respostas

Thiago Cruz

Thiago Cruz

23/01/2015

Você está utilizando: where coluna1 in () and coluna2 in () ?
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

23/01/2015

Ola pessoal, estou precisando de uma ajuda.

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
Daniel

Daniel

23/01/2015

Olá pessoal, obrigado pelas respostas.

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
POSTAR