gpt4 book ai didi

mysql - 需要根据状态获取数据,但是数据是冗余的

转载 作者:行者123 更新时间:2023-11-29 16:05:13 25 4
gpt4 key购买 nike

所以我有一个表记录所有交易,无论是成功还是失败。当某个事务由于某种原因失败时,其他部门可以重新推送该事务,并将其记录在同一张表中。下面是我的表中的数据示例

id  | transaction_code | order_code | create_time | status  |
1 | TR001 | OC001 | 2019-04-16 | Fail |
2 | TR001 | OC001 | 2019-04-18 | Success |

当订单被重新推送时,它会记录一个新的“create_time”。此交易被归类为成功。

问题是当我需要创建一个报告来获取所有失败的交易时。该交易是从我的查询生成的(显然),因为我使用

WHERE status = 'Fail' 

另一个问题是,我不是这个数据库模式的创建者,并且我的访问权限受到限制(我只能使用 SELECT 操作)

有什么方法可以仅通过查询来解决我的问题吗?

最佳答案

您可以使用NOT EXISTS来查找所有没有成功状态的失败事务:

SELECT *
FROM t
WHERE status = 'fail'
AND NOT EXISTS (
SELECT 1
FROM t AS x
WHERE x.transaction_code = t.trasaction_code
AND x.order_code = t.order_code -- not sure if it is required
AND x.status = 'success'
)

关于mysql - 需要根据状态获取数据,但是数据是冗余的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55807901/

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