gpt4 book ai didi

php - Mysql - 找不到特定记录的默认记录

转载 作者:可可西里 更新时间:2023-11-01 07:53:52 24 4
gpt4 key购买 nike

使用 MySQL 和 php,我如何在单个查询中获取与特定查询匹配的所有结果,但如果没有找到结果,则查找所有默认结果?例如我有这个查询:

SELECT * FROM table1 WHERE typeid = 5

如果从下面的查询中没有找到结果,那么我想从 table1 中找到 typeid 为 1 的所有结果:

SELECT * FROM table1 WHERE typeid = 1

我怎样才能在单个查询中做到这一点?如果我尝试以下查询,我会得到 5 和 1:

SELECT * FROM table1 WHERE typeid = 5 OR typeid = 1

我想做的是查询表 1 中所有分配有 typeid 为 5 的记录,如果没有找到结果,则在单个查询中获取分配给 typeid = 1 的所有结果。我怎样才能做到这一点?还是我必须有 2 个查询?

编辑

我需要这个来返回多条记录,而不是一条记录。

最佳答案

这个怎么样?

SELECT * FROM table1
WHERE CASE WHEN (SELECT COUNT(1) FROM table1 WHERE typeid = 5) > 0 THEN
typeid = 5
ELSE
typeid = 1
END;

关于php - Mysql - 找不到特定记录的默认记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640850/

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