mysql if join_MySQL SELECT LEFT JOIN IF查询

我有一个名为category的简单数据库表之一:

category.id category.name category.lang

1 'apple' 'en'

1 'manzana' 'es'

1 '' 'de'

1 '' 'it'

变量:

$default_lang = 'en';

$current_lang = 'it';

我想使查询根据$current_lang返回category_name字段,但是如果category.name为空,则应使用$default_lang中的category.name,如下所示:

SELECT * FROM cat_list

LEFT JOIN category ON cal_list.id = category.id

AND IF(category.name = $current_lang = '', $default_lang, 'No Lang')

请让我知道,如何解决该查询以使其正常工作?

===

好的,现在我有了一个好主意:

SELECT * FROM cat_list LEFT JOIN category

ON cal_list.id = category.id

AND category_lang IN ($curreng_lang, $default_lang)

AND category_name <> ''

它工作正常,但是如果两种语言都有名称值,我应该担心“ IN”顺序吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值