Tenho duas tabelas: MAINCOLOR
e SUBCOLOR
com os dados como:
MAINCOLOR :
MAINID COLOR
1 RED
2 BLUE
3 GREEN
SUBCOLOR:
SUBID MAINID SUBCOLOR STATUS
1 1 PINK 0
2 1 ORANGE 1
3 2 VIOLET 1
Eu preciso de um conjunto de resultados como:
MAINID COLOR SUBCOLOR
1 RED ORANGE
2 BLUE VIOLET
3 GREEN
O conjunto de resultados deve ser uma junção de MAINCOLOR
e SUBCOLOR
usando MAINID
. Precisa de dados da criança tendo status
como 1.
Você pode obter o resultado usando um
LEFT JOIN
entre omaincolor
e osubcolor
.A chave é colocar o filtro
status=1
naJOIN
condição. Seu código será:Consulte SQL Fiddle com demonstração .
O
LEFT JOIN
retornará todas as linhas damaincolor
tabela e todas as linhas correspondentes nasubcolor
tabela. Como você deseja aplicar umWHERE
aos dados nasubcolor
tabela, convém mover esse filtro para aJOIN
condição para obter o resultado.