复杂(或非常非常简单)的MySQL查询?

时间:2015-07-11 05:02:38

标签: php mysql

我正在创建一个处理项目对话翻译的数据库。

我有一个项目表,一个对话表和一个翻译表。

每个表中的每个条目都有一个 id 列。

  • 对话有一个projectID列,表示对话所属的项目。
  • 翻译有一个dialogueID列,表示正在翻译的对话条目。

为了帮助解释这个问题,这里是我构建的伪查询:

SELECT * 
FROM translation 
WHERE (translation.dialogueID refers to dialogue where dialogue.projectID = X)

基本上,我想获取项目X的所有翻译条目。由于项目没有直接路线 - >翻译,我必须通过项目 - >对话,然后对话 - >翻译。我在此期间选择只在翻译表中添加projectID,但它有点笨重。

1 个答案:

答案 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'