我正在尝试根据三个连接构建结果列表
我创建了一个潜在客户表,因为我的销售团队对潜在客户将事件记录记录附加到潜在客户的线索采取了措施。 1个引线可以有很多音符。每个笔记都有一个时间戳,还有一个日期/时间字段,用于设置未来日期,以便安排回拨和约会。
我在构建列表方面没有任何问题,我的所有潜在客户都与各自的事件说明相关联,但在这种特殊情况下我想要做的是查询较小的潜在客户列表,这些潜在客户列表只与包含“ date_time列中的最新“/最高值。
在过去的几天里,我一直在挖掘堆栈,特别是试图从我的陈述中获得所需的结果。我得到所有相关事件记录记录的所有主要记录,或者我得到1,无论我使用什么(GROUP BY date_time ASC LIMIT 1)或(ORDER BY date_time ASC LIMIT 1)我甚至试图建立每个lead.id只有最高预定记录的视图。
SELECT
rr_leads.id AS 'Lead',
rr_leads.first,
rr_leads.last,
rr_leads.company,
rr_leads.phone,
rr_leads.email,
rr_leads.city,
rr_leads.zip,
rr_leads.status,
z.noteid,
z.taskid,
z.scheduled,
z.event
FROM rr_leads
LEFT JOIN
(
SELECT
rr_lead_notes.lead_id,
rr_lead_notes.id AS 'noteid',
rr_lead_tasks.id AS 'taskid',
rr_lead_notes.date_time AS 'scheduled',
rr_lead_notes.task_note,
rr_lead_tasks.task_step AS 'event'
FROM rr_lead_notes
LEFT JOIN rr_lead_tasks
ON rr_lead_notes.task_note = rr_lead_tasks.task_step
AND rr_lead_notes.id IS NOT NULL
AND rr_lead_notes.task_note IS NOT NULL
GROUP BY rr_lead_notes.id DESC
) z
ON rr_leads.id = z.lead_id
WHERE rr_leads.id IS NOT NULL
AND z.noteid IS NOT NULL
ORDER BY rr_leads.id DESC
答案 0 :(得分:1)
以下是获取与最近事件相关联的数据的一般概念。您可以根据自己的具体情况进行调整。
select yourfields
from table1 join othertables etc
join
(select id, max(time_stamp) maxts
from table1
where whatever
group by id) temp on table1.id = temp.id
and table1.time_stamp = maxts
where whatever
确保主查询和子查询中的where子句相同。