gpt4 book ai didi

MySQL 查询以查找 ID = X 的值,如果 X 不存在则回退到 ID = 0

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

我正在尝试编写一个 MySQL 选择查询来获取所有具有我的 company_id 的产品。如果没有找到结果,则查找 company_id = 0 的所有产品。

我可以通过 PHP 使用 IF/ELSE 来完成此操作,但是通过阅读有关 MySQL IF/ELSE 的内容,看起来这应该可以在一个查询中实现。

这个查询显然不起作用,因为它会返回我的 company_id AND company_id = 0 的所有内容:

SELECT * FROM products
WHERE company_id = 100 OR company_id = 0

我一直在尝试使用子查询来编写它:

SELECT * FROM products
WHERE IF EXISTS (SELECT * FROM products WHERE company_id = 100)
ELSE EXISTS (SELECT * FROM products WHERE company_id = 0)

但如您所见,我是 MySQL IF/ELSE 的新手,这根本行不通。

任何人都可以帮助我朝着正确的方向前进,让它发挥作用吗?

非常感谢

(我必须使用 MySQL v5.1.73)

最佳答案

一种方法是做一个简单的子查询来获取正确的company_id,然后选择正确的产品;

SELECT * FROM products
WHERE company_id = (
SELECT MAX(company_id) FROM products WHERE company_id IN (100,0)
);

这将找到公司 ID 100(如果存在),否则为 0。然后它只选择产品。

关于MySQL 查询以查找 ID = X 的值,如果 X 不存在则回退到 ID = 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056002/

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