Mysql 按相关表中的数据排序的SQL代码
好吧,这个SQL查询让我头疼,希望有人以前做过类似的事情 我有两张桌子(被截断) 它们之间的联系在于一张票可以有很多音符 我需要做的是创建一个查询,通过firmid(即32)进行搜索,并使用tblNotes.datecreated(先订购最新的)按最新的“Note”订购“票据” 谢谢 注意。MySQL服务器(5.5.32) 编辑:对于那些记下问题的人:我已经尝试过了,我得到的最成功的SQL是列出所有通过在ticket上使用JOIN连接的ticket和notes。否,我没有将此代码添加到问题中,因为我猜我做得不对,也许我需要使用UNION,这是我一直发现很难使用的Mysql 按相关表中的数据排序的SQL代码,mysql,sql,Mysql,Sql,好吧,这个SQL查询让我头疼,希望有人以前做过类似的事情 我有两张桌子(被截断) 它们之间的联系在于一张票可以有很多音符 我需要做的是创建一个查询,通过firmid(即32)进行搜索,并使用tblNotes.datecreated(先订购最新的)按最新的“Note”订购“票据” 谢谢 注意。MySQL服务器(5.5.32) 编辑:对于那些记下问题的人:我已经尝试过了,我得到的最成功的SQL是列出所有通过在ticket上使用JOIN连接的ticket和notes。否,我没有将此代码添加到问题中,因
我只需要按每张票的最新注释进行搜索。这就是我需要帮助的地方 您需要在SQL的
WHERE
子句中使用子查询来标识最后一个注释日期,然后加入SQ以限制返回的注释
以下内容应该足以让你开始
SELECT ...
FROM tblTickets T
INNER JOIN
tblNotes N
ON N.ticketno = T.ticketno
INNER JOIN
(SELECT N1.ticketno
,MAX(N1.datecreated) AS last_note_date
FROM tblNotes N1
GROUP BY
N1.ticketno
)SQ
ON N.ticketno = SQ.ticketno
AND N.datecreated = SQ.last_note_date
你试过什么吗?到目前为止你做了什么?结果如何?@James。这是一个相当基本的查询。你对SQL有任何了解吗?我投了反对票,因为这不是你的个人编码大军。这是一个问答论坛。看看能让你开始的加入。
SELECT ...
FROM tblTickets T
INNER JOIN
tblNotes N
ON N.ticketno = T.ticketno
INNER JOIN
(SELECT N1.ticketno
,MAX(N1.datecreated) AS last_note_date
FROM tblNotes N1
GROUP BY
N1.ticketno
)SQ
ON N.ticketno = SQ.ticketno
AND N.datecreated = SQ.last_note_date