【发布时间】:2012-09-05 03:44:22
【问题描述】:
我有一个名为 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”顺序吗?
【问题讨论】:
标签: mysql select join if-statement