我有一种情况,有两个表,一个是关键字,第二个是mysql中的翻译
Keywords
------------
ID Keyword
------------
1 Hi
2 How are you
这是第二张表
Translations
----------------------------------------
keyword_id translation Lang_id
------------------------------------------
1 Hello 1
1 Hej 4
1 Hey 2
所以我想显示关键字列表(即使它们不在翻译表中)及其翻译,
我正在使用此查询
SELECT keywords.keyword, translation
FROM keywords
LEFT JOIN translations on keywords.id = translations.keyword_id
WHERE lang_id = 4
因此我想要关键字列表(嗨,你好吗)和翻译列表(Hej) 如果你没有翻译,那么它应该显示一些默认文本,如lang_id 1
答案 0 :(得分:0)
使用COALESCE()
:
SELECT keywords.keyword, COALESCE(translation, "lang_id 1")
FROM keywords
LEFT JOIN translations on keywords.id = translations.keyword_id
WHERE lang_id = 4
如果没有相应的记录,那将显示您设置的默认字符串而不是NULL
...
答案 1 :(得分:0)
SELECT keywords.keyword, Case When translation is null Then "Lang_ID1" Else translation End)
from keywords
LEFT JOIN translations on keywords.id = translations.keyword_id
where lang_id = 4