当没有返回记录时,我无法选择记录。 我要做的是根据语言选择记录。在这种情况下,语言的“language_id”编号为3.所以问题是此查询返回0条记录。如果是这种情况,我想将language_id更改为1,在这种情况下,女巫是默认语言。
如果尝试使用exists,但我无法创建新选择。任何人都可以帮我一点,甚至可以更改比较部分中的查询值吗?
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')
答案 0 :(得分:1)
您可以在子查询中使用相同的查询来根据计数获取计数和切换语言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
答案 1 :(得分:0)
使用if语句,如果第一个结果为null,则执行第二个
SELECT IFNULL( (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'),
(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` = '1')) AS value;