gpt4 book ai didi

php - 需要帮助尝试在 SQL 查询中提取每个客户端 ID 的最新注释

转载 作者:行者123 更新时间:2023-11-29 14:34:13 26 4
gpt4 key购买 nike

Possible Duplicate:
Retrieving the latest note (by timestamp) in a single query from a 1:n table

您好,不知道我应该在这里做什么,因为从来没有必要进行这样的查询。

我需要做的是将名为 _notes 的表与 _leads 连接起来,

每个客户端都有一个唯一的引用,并且他们在 _notes 表中有多个注释。

我想要做的是生成一个查询,该查询将显示 _leads 中的所有字段以及每个客户的最新注释。

到目前为止我所拥有的是,

SELECT
_leads.ID,
_leads.Title,
_leads.Firstname,
_leads.Lastname
_notes.Note,
_notes.`Date`
FROM
_leads
Left Join _notes ON _leads.ID = _notes.Lead_ID
GROUP BY _leads.ID

这仅显示每个客户的第一个注释,有没有办法让查询执行我想要的操作。

最佳答案

子查询是我解决此类困难的常用解决方案

SELECT
_leads.ID,
_leads.Title,
_leads.Firstname,
_leads.Lastname,
n.Note,
n.`Date`
FROM _leads
LEFT JOIN (
SELECT
_notes.Lead_ID,
_notes.Note,
_notes.`Date`
FROM _notes
ORDER BY `Date` DESC
) AS n
ON _leads.ID = n.Lead_ID
GROUP BY _leads.id

如果您的 _notes 表也有一个 ID 字段,那么下面的内容也可能很有用,并且使用子查询返回与每个潜在客户关联的最高 ID,然后根据该字段将 _notes 整体连接起来会稍微干净一些

 SELECT
l.ID,
l.Title,
l.Firstname,
l.Lastname,
_notes.Note,
_notes.`Date`
FROM (
SELECT
_leads.ID,
_leads.Title,
_leads.Firstname,
_leads.Lastname,
MAX(_notes.ID) AS Note_ID
FROM _leads
LEFT JOIN _notes
ON _notes.Lead_ID = _leads.ID
GROUP BY _leads.ID
) AS l
LEFT JOIN _notes
ON _notes.ID = l.Note_ID

关于php - 需要帮助尝试在 SQL 查询中提取每个客户端 ID 的最新注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com