gpt4 book ai didi

php - 知道它将返回 null 时运行查询是不是很糟糕?

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

我有一个订单实体,在对其执行工作时会经历一些状态。每次请求页面时,后端都会返回所有相关数据,这些数据目前可能可用或不可用,作为 JSON。

基本上,请求的是相同的 URL,但会根据订单状态切换出模板,并且后端始终运行相同的方法来检索数据。根据订单状态,部分数据可能为空。

例如,预购是一种状态,表示订单尚未完成处理。因此,没有执行任何工作。如前所述,假设后端始终运行相同的查询来获取数据。它可能会返回“order_information”、“work_performed”和“comments”。一般而言,执行获得“work_performed”的查询是不好的还是昂贵的,即使没有工作可以在预订单上执行?它当然总是会在预购阶段返回 null。提交订单后,最终会有订单数据,这样我就不必在后端编写额外的逻辑了。并不是说编写它很麻烦,但如果没有必要,那么它会使代码更短。

否则,我想我只需要在后端有条件地返回数据。

最佳答案

如果结果集中的字段可能为空值,则可以使用 COALESCE

以这三个为例

COALESCE(MAX(bids.gold_bid),0) AS max_bid

在此示例中,如果 bids.gold_bid 的最大值没有值(null),则返回 0 作为 max_bid 的值

COALESCE(bidder.name,'No Bidders') AS highest_bidder

在此示例中,如果没有人对该项目出价,则返回“No Bidders”作为最高出价者的名称

COALESCE(COUNT(bids.gold_bid),0) AS number_of_bids

在此示例中,如果未找到出价(空值),则返回 0 作为出价数

关于php - 知道它将返回 null 时运行查询是不是很糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33623527/

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