gpt4 book ai didi

mysql - 如何从带条件的表中检索数据?

转载 作者:行者123 更新时间:2023-12-01 00:08:36 25 4
gpt4 key购买 nike

我正在开发 mysql 服务器中的数据库 View ,以通过将 grns 加入评论表来获取 grns 的状态。我想显示 grn 被拒绝或批准。评论表上可能有多个针对单个 grns 的评论。

如果grn的评论表状态中只有一个“Approval”,则grn的状态必须返回“Approved”,否则返回“Rejected”或“Pending” 这里是两个表的dummy。

grn and comment tables

预期结果:

G1 - rejected
G2 - approved
G3 - approved
G4 - approved
G5 - approved

最佳答案

您可以通过测试 comment 中是否存在每个 grn-no 具有 approvedrejected 状态的行来执行此操作 值。如果 grn 既未被批准也未被拒绝,状态将设置为 pending

SELECT g.`grn-no`,
CASE WHEN EXISTS (SELECT * FROM comment c WHERE c.grn_id = g.id AND c.status = 'approved') THEN 'approved'
WHEN EXISTS (SELECT * FROM comment c WHERE c.grn_id = g.id AND c.status = 'rejected') THEN 'rejected'
ELSE 'pending' END AS status
FROM grn g

输出:

grn-no  status
G1 rejected
G2 approved
G3 approved
G4 approved
G5 approved

Demo on dbfiddle

关于mysql - 如何从带条件的表中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56169202/

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