如何使用SELECT时可以基于其他字段修改返回字段的值?

使用MySQL SELECT时,可以基于其他字段更改返回字段的值吗?

例如,如果我有此选择:

SELECT city,state,country FROM table

现在,如果city为空且state为空,我也希望country的值也返回空(country实际上是否有值).

表格示例:

id | city | state | country
-----------------------------
1  | Here | There | MyCountry
2  |      |       | YourCountry

因此,使用上表,我希望id = 1的结果返回Here,There,MyCountry,但是id = 2的结果应该为空,空,空

谢谢

编辑:澄清一下,WHERE子句将不起作用,因为即使城市和州为空,我也需要返回该行.更好的示例可能是来自my_table的SELECT id,city,state,country

最佳答案
更新(错误记录已更正):

SELECT city,state,
CASE 
 WHEN (city IS NULL OR city='') AND (state IS NULL or state='') THEN ''
 ELSE country
END as country_1
 FROM `table`

您也可以使用IF代替CASE:
  IF((city IS NULL或city =”)和(state IS NULL或state =”),”,国家)为country_1

转载注明原文:如何使用SELECT时可以基于其他字段修改返回字段的值? - 代码日志