gpt4 book ai didi

mysql - 当查询没有任何行时显示默认记录

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:49 24 4
gpt4 key购买 nike

我试图在简单查询中显示默认记录,但我的尝试不起作用:

SELECT 
COALESCE(suppliers.supplier_name, 'No records') AS supplier_name
FROM suppliers
LEFT JOIN suppliers_purchases USING(supplier_id)
LEFT JOIN suppliers_purchases_articles USING(supplierpurchase_id)
WHERE suppliers_purchases_articles.article_id = 150
ORDER BY suppliers_purchases.supplierpurchase_id DESC
LIMIT 1

最佳答案

由于查询未返回任何行,因此 coalesce 永远不会启动 - 没有可执行的值,更不用说 NULL 了。

虽然从技术上讲可以用 SQL 解决您的问题,但它会变成一个非常大、丑陋、无法维护的 SQL 片段。这是因为您正试图解决 SQL 中的一个问题,它从来没有打算这样做 - 一个显示问题。 SQL 旨在控制绝对和严格的数据集,而不是默认为基于缺少结果集的信息性消息。 No records 不是您数据库中任何供应商的名称,因此不要将其列为一个。

长话短说:不要解决数据层中的表示问题。您的前端代码应该处理缺少结果并回退以正确显示 No records,而不是在您之后的开发人员可本地化、可控制和期望的地方。

关于mysql - 当查询没有任何行时显示默认记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34212490/

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