好的,这个SQL查询让我很头疼,希望有人之前做过这样的事情。
我有两个表(截断)
tblTickets: tblNotes:
ticketno (int) noteid (int)
firmid (int) ticketno (int)
ticket_desc (text) datecreated (datetime)
... ...
它们的关系在于票证可以包含许多注释
我需要做的是创建一个通过firmid(即32)搜索的查询,并使用tblNotes.datecreated(最新订购的)以最新的“Note”命令“Tickets”
谢谢!
NB。 MySQL服务器(5.5.32)
编辑:对于那些标记问题的人:我已经尝试了,我得到的最成功的SQL是列出所有在ticketno上使用JOIN加入的票据和票据,我没有将此代码添加到问题中,因为我我猜错了,所以我需要使用一个UNION,我总是觉得很难使用它。我需要它只搜索每张票的最新票据。多数民众赞成我需要的帮助。
答案 0 :(得分:0)
您需要在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