Php 如果title_es为空,MYsql希望获取title_en

Php 如果title_es为空,MYsql希望获取title_en,php,mysql,select,Php,Mysql,Select,我在mysql中有一个表,有两个文件title\u en,title\u es 如果语言为英语,则需要使用title_en,title_es是可选的。 如果langauge是西班牙语,则在输入表格数据时,需要使用title_Es,title_en是可选的。 注意:这用于数据输入 很可能有一个字段是空的 在PHP中,我编写动态查询 $sql='Select title.'$lang.'from product' 如果语言为英语,则为“从产品中选择标题”。 如果语言为西班牙语,则为“从产品中选择标题

我在mysql中有一个表,有两个文件title\u en,title\u es 如果语言为英语,则需要使用title_en,title_es是可选的。 如果langauge是西班牙语,则在输入表格数据时,需要使用title_Es,title_en是可选的。 注意:这用于数据输入

很可能有一个字段是空的

在PHP中,我编写动态查询

$sql='Select title.'$lang.'from product'

如果语言为英语,则为“从产品中选择标题”。 如果语言为西班牙语,则为“从产品中选择标题”

对于语言为西班牙语的列表页面,我有一个问题,即对于某些记录(在语言为英语时输入),标题为空

我知道可以通过获取这两个文件并使用PHP函数来处理,该函数将检查title_es是否为空,然后显示title_en

但我想在Mysql中处理它,因为所有的站点都是完整的,在这一点上,客户端需要1个标题和其他可选的,这在一开始都是必需的

请仅针对mysql解决方案提出建议

感谢阅读此文。

代码>选择案例标题\u en
SELECT 
 case when title_es is null then title_en
    else title_es
end as title
FROM product
如果为空,则标题为 其他标题(以标题结尾) 来自产品

如果字段中不允许空值,则只需将空值替换为“”


希望这有帮助

感谢您的快速回复,我尝试了您的查询,但它生成了错误,语法使用“来自产品的近”,任何方式,同时我使用几乎相同的逻辑结构,它对我有效。选择*,如果(title.'.$lang.='',title.$Otherlang.',title.$lang.')作为标题我不能使用SELECT if::它生成错误,但选择一些字段,如果(title.'.$lang.='',title.$Otherlang.',title.$lang作为标题对我有效。谢谢你的帮助