SQL代码按相关表中的数据排序

时间:2013-08-27 13:17:22

标签: mysql sql

好的,这个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,我总是觉得很难使用它。

我需要它只搜索每张票的最新票据。多数民众赞成我需要的帮助。

1 个答案:

答案 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