sql 左连接可能没有关系
sql left join possible no relationship
我必须从数据库中的 4 个表生成报告
leads
id
name
country
create_by #different from lead_call_logs create_by
lead_call_logs
id
lead_id
create_by
create_datetime
users
id
employee_id
username
password
employees
id
name
我正在使用这个查询
SELECT
leads.id AS id,
CONCAT(leads.first_name,' ',leads.surname) AS lead_name,
leads.country AS country,
CONCAT(employees.first_name,' ',employees.surname) AS booked_by,
lead_call_logs.create_datetime
FROM
leads
LEFT JOIN lead_call_logs ON leads.id = lead_call_logs.lead_id,
users,
employees
WHERE
lead_call_logs.create_by = users.id AND
users.employee_id = employees.id
当潜在客户仍然没有任何 lead_call_logs 时,问题就来了。我怎样才能得到所有有或没有 lead_call_logs 的线索,并得到预订它的员工姓名?
提前致谢。
更新问题
如果在 create_by 中也有一个 create_by 并且 create_by 在 lead_call_logs 中的 create_by <> create_by 怎么办(不同的人在做)
为什么你 "stop" 在第一个 LEFT JOIN
之后?对其他表执行相同操作:
SELECT
leads.id AS id,
CONCAT(leads.first_name,' ',leads.surname) AS lead_name,
leads.country AS country,
CONCAT(employees.first_name,' ',employees.surname) AS booked_by,
lead_call_logs.create_datetime
FROM
leads
LEFT JOIN lead_call_logs ON leads.id = lead_call_logs.lead_id
LEFT JOIN users ON lead_call_logs.create_by = users.id
LEFT JOIN employees ON users.employee_id = employees.id
我必须从数据库中的 4 个表生成报告
leads
id
name
country
create_by #different from lead_call_logs create_by
lead_call_logs
id
lead_id
create_by
create_datetime
users
id
employee_id
username
password
employees
id
name
我正在使用这个查询
SELECT
leads.id AS id,
CONCAT(leads.first_name,' ',leads.surname) AS lead_name,
leads.country AS country,
CONCAT(employees.first_name,' ',employees.surname) AS booked_by,
lead_call_logs.create_datetime
FROM
leads
LEFT JOIN lead_call_logs ON leads.id = lead_call_logs.lead_id,
users,
employees
WHERE
lead_call_logs.create_by = users.id AND
users.employee_id = employees.id
当潜在客户仍然没有任何 lead_call_logs 时,问题就来了。我怎样才能得到所有有或没有 lead_call_logs 的线索,并得到预订它的员工姓名?
提前致谢。
更新问题
如果在 create_by 中也有一个 create_by 并且 create_by 在 lead_call_logs 中的 create_by <> create_by 怎么办(不同的人在做)
为什么你 "stop" 在第一个 LEFT JOIN
之后?对其他表执行相同操作:
SELECT
leads.id AS id,
CONCAT(leads.first_name,' ',leads.surname) AS lead_name,
leads.country AS country,
CONCAT(employees.first_name,' ',employees.surname) AS booked_by,
lead_call_logs.create_datetime
FROM
leads
LEFT JOIN lead_call_logs ON leads.id = lead_call_logs.lead_id
LEFT JOIN users ON lead_call_logs.create_by = users.id
LEFT JOIN employees ON users.employee_id = employees.id