Cuesta un poco entender la idea de qué es lo que representa cada cosa, pero mi pregunta es: SI la tabla principal es
web_cal_entry y su PK es
cal_id, ¿no sería suficiente con ese WHERE?:
Porque solamente estaría devolviendo un registro, y en todo caso, si ese registro termina vinculado a más de un registro de las tablas
webcal_company,
webcal_client y
webcal_close_entry, ¿no deberías estar agrupando por esa PK y no por una que puede dar duplicidades?
Algo como:
Código MySQL:
Ver original e.cal_id,
e.cal_cliente,
CONCAT(cl.cal_nombre1
,' ',cl.cal_apellido1
,' ',cl.cal_apellido2
) cal_cliente_nombre
, e.cal_empresa,
c.cal_nombre cal_empresa_nombre,
e.cal_estado,
e.cal_create_by,
CONCAT(u.cal_lastname
,' ', u.cal_firstname
) cal_creador
, e.cal_date,
e.cal_time,
e.cal_name,
e.cal_location,
e.cal_description,
ce.cal_entry calcal_close_entry
webcal_entry e
INNER JOIN webcal_user u
ON u.cal_login
= e.cal_create_by
LEFT JOIN webcal_company c
ON c.cal_company_id
= e.cal_empresa
LEFT JOIN webcal_client cl
ON cl.id_cliente
= e.cal_cliente
LEFT JOIN webcal_close_entry ce
ON e.cal_id
= ce.cal_entry
e.cal_id = 300