Php 适用于最新状态的MySQL查询
我在一家托管公司工作,我们经常收到安装、新域名、延迟修复等请求。为了对仍然开放的内容有一点了解,我决定制作一个非常简单的票证系统。我有一点php知识和一点MySQL知识。目前,我们将根据客户的电子邮件和电话自行提交门票 我创建了以下SQL结构:Php 适用于最新状态的MySQL查询,php,mysql,join,status,Php,Mysql,Join,Status,我在一家托管公司工作,我们经常收到安装、新域名、延迟修复等请求。为了对仍然开放的内容有一点了解,我决定制作一个非常简单的票证系统。我有一点php知识和一点MySQL知识。目前,我们将根据客户的电子邮件和电话自行提交门票 我创建了以下SQL结构: || TICKETS || || STATUSSES || || STATUS-CODES || -------------- ---------------- ------------------- | ID
|| 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
我编辑了一些拼写错误的名字等,但它做到了。非常感谢!哦,我为印刷错误感到抱歉(无论如何,不客气!呵呵,现在我只需要想一想在哪里添加订单和限制条件:)我想我会想出来的。