我正在创建一个处理项目对话翻译的数据库。
我有一个项目表,一个对话表和一个翻译表。
每个表中的每个条目都有一个 id 列。
projectID
列,表示对话所属的项目。 dialogueID
列,表示正在翻译的对话条目。为了帮助解释这个问题,这里是我构建的伪查询:
SELECT *
FROM translation
WHERE (translation.dialogueID refers to dialogue where dialogue.projectID = X)
基本上,我想获取项目X的所有翻译条目。由于项目没有直接路线 - >翻译,我必须通过项目 - >对话,然后对话 - >翻译。我在此期间选择只在翻译表中添加projectID
,但它有点笨重。
答案 0 :(得分:3)
如果您知道项目的ID是什么(X),那么您可以使用:
SELECT t.* FROM translation AS t, dialogue AS d
WHERE t.dialogueID = d.id AND d.projectID = X
如果你不知道项目ID,但你知道它的名字(X)或你可以引用它的东西,你可以使用:
SELECT t.* FROM translation AS t, dialogue AS d, project AS p
WHERE t.dialogueID = d.id AND d.projectID = p.id AND p.name='X'