查询返回0条记录时更改MySQL比较值

艾森

没有记录返回时,我在选择记录时遇到了麻烦。我想做的是根据语言选择记录。在这种情况下,该语言的“ language_id”数字为3。因此问题是此查询返回0条记录。如果是这种情况,我想将language_id更改为1女巫,在这种情况下是默认语言。

如果尝试使用它来存在,但是我无法创建新选择。有人可以帮我一下,甚至可以更改比较部分中的查询值吗?

SELECT `sepc`.`value` FROM (`items_2_extra_properties_columns` AS sepc)
WHERE `sepc`.`item_id` = '58489' 
AND `sepc`.`property_id` = '10799' 
AND `sepc`.`lang_id` = '3')
用户名

您可以在子查询中使用相同的查询来获取计数并基于该计数切换语言ID,如下所示:

SELECT `sepc`.`value` FROM (`items_2_extra_properties_columns` AS sepc)
WHERE `sepc`.`item_id` = '58489' 
AND `sepc`.`property_id` = '10799' 
AND CASE WHEN 
(SELECT COUNT(`sepc`.`value`) FROM  (`items_2_extra_properties_columns` AS sepc) WHERE `sepc`.`item_id` = '58489' AND `sepc`.`property_id` = '10799' AND `sepc`.`lang_id` = '3')=0
THEN `sepc`.`lang_id` = '1' ELSE `sepc`.`lang_id` = '3'
END

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当该查询向 mysql 客户端返回 4 条记录时,为什么 Rows_sent 为 0?

当实际值不为 0 时,MySQL 查询返回 0

SQL查询从两个查询的结果返回0或1作为一条记录

删除记录时,“子查询返回的值大于1”,如果我更改获取的数字,则不是这样

子查询始终返回单条记录

查询比表A中的记录新时从表B返回的值

在mysql子查询中按日期获取第一条记录和最后一条记录的值

比较datetime列时,MySQL返回0结果

查询返回的结果大于5000条记录时,SQL锁定表是否存在?

休眠查询 sql ,五条记录但返回两条

PHP - MySQL 1.000.000 条记录查询优化

如何修改此查询以仅获取字段值不为0的最后一条记录?

MySQL查询返回0

MySQL WHERE IN仅返回1条记录

MySQL-查询以获取具有特定列的唯一值的前2条记录

Mysql查询不比较值

基于下一条记录值的GS查询记录

我的PHP / PDO查询仅应返回9条记录,而应返回9条记录

如果查询在MySql中返回空值,如何设置0?

MYSQL查询前40条记录,否则记录

如何从仅返回1或0条记录的Diesel查询中获取Option <T>而不是Option <Vec <T >>?

当我使用此sql查询时,它会重复该值,即表中只有一条记录,并且显示8条记录

使用 PHP 比较返回的 SQL 查询值

SQLite 查询只返回第一条记录

使用返回0的查询行比较mysql密码哈希(不起作用)

来自状态的对象数组在查询时返回长度0,但记录该数组将显示正确的长度

如何编写在组中未找到任何记录时返回count = 0的SQL查询

PHP的MySQL查询返回0

查询计数 Mysql 返回 0