我有一个数据库和一个名为translations的表
此表中有4行:id、textidea、translation和language。
id是每个主键的常规id
textidea是单词后面想法的id,就像一个图像:当我指的是“树”时,这个想法可以翻译成其他语言
翻译就是文本思想的翻译
语言是翻译中的语言
此表的简短函数是:textidea+language=translation
并不是每个textidea都有每种语言的翻译:我有10种语言和1100个textidea,但只有7000个翻译
我的工作是从数据库中获取每一个textidea和目标语言还没有翻译的英语翻译
我会把它打包成一个txt文件,并能大量地将这些单词从英语翻译成其他语言
我的sql查询非常有效:它没有得到结果(空结果):
SELECT t.textidea,t.translation
FROM translation AS t
LEFT JOIN translation AS w //table joins itself
ON t.textidea = w.textidea
WHERE (t.language = 'en-US'
AND w.language = 'de-DE' //de-DE is German and is as example
AND w.translation IS NULL //target language here
AND t.translation IS NOT NULL)
在sql查询中我能做什么更好?如果可能的话,你可以做一个dql查询,因为我也在使用原则
谢谢
编辑:如果我正在执行左联接,且入口数比主表少:
---------------------
|entry 1|added entry|
---------------------
|entry 2|null |
---------------------
我有一个空的条目:我想搜索那个条目
问题:我想要一种特殊的语言~where de.language='de'
但这不包括null
->我可以用参数连接吗?所以我可以把“where de.language='de-de'”放在那里,然后搜索null?
1条答案
按热度按时间pkmbmrz71#
我刚发现:
在'join'之后是'on',在这里我们可以指定连接条件,但也可以在'where'中指定
这使得定制table成为可能,可以在哪里定制
苏欧:
旧查询:
更改:
新建工作查询: