【发布时间】:2015-08-29 17:38:59
【问题描述】:
我的文本有一个翻译表,例如:
表格:待办事项
day | text_id
-------------
0 | 1
1 | 2
1 | 1
表格:翻译
lang | text_id | text
---------------------
deu | 1 | Laufen
eng | 1 | Running
eng | 2 | Swimming
现在我想用德语 (deu) 查找我的待办事项。我的问题是,我没有 text_id 2: Swimming in German 的翻译(例如)。
我的默认查询是:
SELECT todos.day, translations.text
INNER Join translations
ON todos.text_id = translations.text_id
WHERE translations.locale = 'deu';
我会得到:
day | text
--------------
0 | Laufen
1 | Laufen
但我想要:
day | text
--------------
0 | Laufen
1 | Swimming
1 | Laufen
我怎样才能得到一些缺失的行?首先我应该得到所有需要的行:
SELECT todos.day, translations.text
INNER Join translations
ON todos.text_id = translations.text_id
WHERE translations.locale = 'deu' or translations.locale = 'eng';
然后删除所有重复的“eng”,但是 - 如何?
对不起这个糟糕的标题,我不知道如何正确描述它......
【问题讨论】:
标签: sql sqlite inner-join