从一个表中获取值并将其用于另一个表

时间:2014-08-08 15:42:44

标签: mysql

我有两张桌子:

图像包含以下colls:imageID和imagePath。

文章包含:articleID,imageID。

当我知道articleID时,我想使用单个mysql查询获取imagePath数据。

我搜索过类似的问题,但我找不到有用的东西......

1 个答案:

答案 0 :(得分:2)

听起来你正在寻找一个JOIN操作。

在单个查询中执行此操作的一种方法(通过多种方式):

SELECT i.imagePath
  FROM images i
  JOIN articles a
    ON a.imageID = i.imageID
 WHERE a.article_id = 'foo'

(这不是唯一的方法,有几个其他查询会返回相同的结果。)

请注意,如果images表中有多个行在imageID中具有匹配值,则查询将返回多行。如果匹配的行不存在,则查询将返回零行。

OUTER JOIN操作可用于从articles返回行,即使images表中不存在匹配的行也是如此。例如:

SELECT a.articleID
     , i.imagePath
  FROM articles a
  LEFT
  JOIN images i
    ON i.imageID = a.imageID
 WHERE a.article_id = 'foo'