gpt4 book ai didi

mysql - 使用最近输入的值加入

转载 作者:行者123 更新时间:2023-11-29 13:10:34 24 4
gpt4 key购买 nike

我有一个显示工作票的表格,基本上是这样的:

TABLE "ticket"
ticket_id INT UNSIGNED AUTO_INCREMENT
created TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ticket_name VARCHAR(64)

然后我有一个表格,显示票证的可能状态代码列表:

TABLE "status_ticket"
status_id INT UNSIGNED AUTO_INCREMENT
created TIMESTAMP DEFAULT CURRENT_TIMESTAMP
status_name VARCHAR(64)

我还有一个表来记录工单当前或曾经的状态历史记录:

TABLE "xref_ticket_status"
xref_id INT UNSIGNED AUTO_INCREMENT
created TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ticket_id INT UNSIGNED NOT NULL
status_id INT UNSIGNED NOT NULL

创建工单后,会在工单的 ticket 表中创建一个条目,然后在 xref_ticket_status 表中创建一个条目,为该工单分配状态通过将 ticket 表链接到 status_ticket 表来获取票证。当状态更改时,xref_ticket_status 表中会创建一个新条目以反射(reflect)新状态。这样,我就可以获得工单的每个状态以及分配时间的历史记录。 xref_ticket_status 表中任何给定 ticket_id 的最新条目是工单的当前状态。

我不确定如何将这三个表连接在一起以获得票证的当前状态。本质上,我想将 ticket 表与 xref_ticket_status 表连接起来,其中 ticket_id 匹配,但对于最新的 created 列在xref_ticket_status中。

谢谢!

最佳答案

这应该可以解决问题:

select ti.ticket_id,ti.ticket_name,
xr.created, st.status_name
from ticket ti
inner join xref_ticket_status xr
on(ti.ticket_id = xr.ticket_id)
inner join status_ticket st
on(xr.status_id = st.status_id)
group by ti.ticket
order by xr.xref_id desc;

==============更新==================

select * from
(select ti.ticket_id,ti.ticket_name,
xr.created, st.status_name
from ticket ti
inner join xref_ticket_status xr
on(ti.ticket_id = xr.ticket_id)
inner join status_ticket st
on(xr.status_id = st.status_id)
group by ti.ticket
order by xr.xref_id desc)cs
order by cs.ticket_name desc; //or asc

关于mysql - 使用最近输入的值加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com