Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nicolas NCS

Como filtrar consulta com mais de um regitro em outra tabela

Recommended Posts

Vou tentar explicar minha dificuldade.

Tenho :

uma tabela "camiseta"

id camiseta

1 normal

2 social

3 moderna

4 regata

 

uma tabela "cor" com colunas

id cor

1 azul

2 vermelho

3 verde

4 preto

5 branco

 

e outra tabela "camiseta_cor"

id id_camiseta id_cor

1 1 1

2 2 2

3 2 3

4 2 4

5 3 1

6 3 2

 

Utilizo JOIN para fazer uma consulta como abaixo

 

SELECT c.* FROM camiseta c
JOIN camiseta_cor cc ON cc.id_camiseta = c.id
JOIN cor co ON co.id = cc.id_cor
Quero saber como fazer uma condição para selecionar apenas as camisetas que possuem unicamente a cor AZUL ou as camisetas que possuem a cor AZUL mas que também pussuem a cor VERMELHO?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma base

 

Select id_camiseta

From camiseta_cor

Where id_cor in (1,2)

Group by id_camiseta

Having count(*) > 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim.

Deve ter cor repetida por camiseta.

 

 

Select id_camiseta

From camiseta_cor

Where id_cor in (1,2)

Group by id_camiseta

Having count(distinct id_cor) > 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.