Php 适用于最新状态的MySQL查询

Php 适用于最新状态的MySQL查询,php,mysql,join,status,Php,Mysql,Join,Status,我在一家托管公司工作,我们经常收到安装、新域名、延迟修复等请求。为了对仍然开放的内容有一点了解,我决定制作一个非常简单的票证系统。我有一点php知识和一点MySQL知识。目前,我们将根据客户的电子邮件和电话自行提交门票 我创建了以下SQL结构: || TICKETS || || STATUSSES || || STATUS-CODES || -------------- ---------------- ------------------- | ID

我在一家托管公司工作,我们经常收到安装、新域名、延迟修复等请求。为了对仍然开放的内容有一点了解,我决定制作一个非常简单的票证系统。我有一点php知识和一点MySQL知识。目前,我们将根据客户的电子邮件和电话自行提交门票

我创建了以下SQL结构:

|| TICKETS  ||    || STATUSSES  ||    || STATUS-CODES  ||
--------------    ----------------    -------------------
| ID         |    |  ticket_id   |    | ID              |
| cust_name  |    |  status_id   |    | status_txt      |
| cust_cntct |    |  datetime    |    -------------------
| subject    |    ----------------
| message    |    
--------------     
我现在想制作一张overviw表,显示所有现有的门票。将以默认状态插入票证。并发时间戳将是添加票证的时间。每次票证移动到下一个状态时,都会添加一个带有时间戳的新状态。最新状态始终为当前状态

我不知道如何创建一个查询来获取每个票证的最新状态。一个简单的连接将返回一个票证,其次数与它的状态数量相同。我想创建一个连接,但只显示结果,状态的时间戳是某个票证的最新状态。

尝试以下操作:

SELECT  a.*, b.`datettime`, d.status_txt
FROM    tickets a
            INNER JOIN statusses b
                on a.id = b.ticket_ID
            INNER JOIN
            (
                SELECT  ticket_ID, MAX(`datetime`) CurrentTicketDate
                FROM    Statuses
                GROUP BY ticket_ID
            ) c
                ON  b.ticket_ID = c.tecket_ID AND
                    b.`datetime` = c.CurrentTicketDate
            INNER JOIN Status_Codes d
                on b.status_ID = d.id

我编辑了一些拼写错误的名字等,但它做到了。非常感谢!哦,我为印刷错误感到抱歉(无论如何,不客气!呵呵,现在我只需要想一想在哪里添加订单和限制条件:)我想我会想出来的。