没有记录返回时,我在选择记录时遇到了麻烦。
我想做的是根据语言选择记录。在这种情况下,该语言的“ 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
关于php - 查询返回0条记录时更改MySQL比较值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38226432/