SQL查询根据从其他两个表连接的数据从一个表返回结果?

时间:2015-09-13 09:17:04

标签: mysql join

我有一个有吉他课程的网站(drupal)。我有一个内容类型课程,其中包含练习内容类型。练习通过用于处理课程 - 练习关系的特定表来引用课程nid。练习有图像(称为标签),图像通过文件表处理。对于给定的课程,我正在尝试构建一个SQL查询,该查询返回与课程练习相关联的图像,然后随机选择一个。我知道它会等同于某种类型的连接,但我不知道它是左边,内部还是某种组合。

相关表格中的相关栏目是

  1. 用于将练习链接到课程(课程)的表格。 field_lesson_target_id是课程ID,entity_id是练习ID。

  2. 练习的图像字段(选项卡)。 entity_id是运动ID,field_tab_fid是文件ID。

  3. 文件表(文件)fid是文件ID,在本例中与选项卡表中的field_tab_fid有关。

  4. 这是小提琴:

    http://sqlfiddle.com/#!9/dbf63

1 个答案:

答案 0 :(得分:0)

阅读this post后,或许这就是我的需要?

SELECT * 
FROM file f
INNER JOIN tab t on t.field_tab_fid = f.fid
INNER JOIN lesson l ON l.entity_id = t.entity_id
WHERE l.field_lesson_target_id = 672

我只是不确定我的情况是否适用于同一类型的加入。在这个例子中,有两个条件,但在我的情况下似乎有一个条件。

小提琴:http://sqlfiddle.com/#!9/dbf63/4