Tablas:
Comuna
Id | nombre
1 ARICA
2 PUTRE
3 IQUIQUE
Cliente
Nombre | Correo | comuna_id
JUAN [email protected] 1
JOSE [email protected] 1
JAVIER [email protected] 3
PEDRO [email protected] 3
Cliente_area
Cliente_correo | área
[email protected] COMERCIO
[email protected] ESTADISTICA
[email protected] COMERCIO
[email protected] COMERCIO
[email protected] ESTADISTICA
Lo que necesito realizar es listar a todas las comunas con sus respectivos clientes asociados, dependiendo del área seleccionada, además si una comuna no tiene clientes de acuerdo al área seleccionada, que igual muestre la comuna pero sin la información del cliente, esto para saber que comunas no tienen clientes asociados segun el area indicada
Por ejemplo:
Consulta: mostrar todos los clientes que tengan como área “COMERCIO”
COMUNA | CLIENTE | CORREO
ARICA | JUAN | [email protected]
ARICA | JOSE | [email protected]
PUTRE | NULL | NULL
IQUIQUE | PEDRO | [email protected]
esta es mi consulta que he tratado de hacer, pero no me resulta
Código SQL:
Ver original
SELECT comuna.nombre, cliente.nombre, cliente.correo FROM comunas LEFT JOIN clientes ON clientes.comuna_id = comuna.id LEFT JOIN cliente_area ON cliente_area.cliente_correo = cliente.correo AND cliente_area.area= "COMERCIO"
al realizar esta consulta me lista todas las comunas y todos los clientes sin filtrar por COMERCIO, ojala me puedan ayudar
Saludos