查询sql并获取外键值(不是id)的结果

时间:2010-08-31 16:37:38

标签: php sql phpmyadmin

Table IMAGES

  • columns- imageID, Image, and categoryID*(this being the foreign key)

Table CATEGORIES

  • columns categoryID, Category

和peform查询例如:

 $sql = "SELECT categoryID FROM IMAGES WHERE image = 'exampleImage'";

我会得到结果为类别ID的整数,即1

我的问题是显示ID所属类别的查询是什么?或者有关如何解决多个查询的任何建议。

2 个答案:

答案 0 :(得分:2)

您希望使用内部联接,以便根据联接条件返回匹配的记录。

SELECT Images.CategoryID, Category.Category
FROM IMAGES
INNER JOIN Category ON Category.CategoryID = Images.CategoryID
WHERE image = exampleimage

答案 1 :(得分:0)

使用简单的左连接:

SELECT imageID, Image, IMAGE.categoryID, CATEGORIES.Category
FROM IMAGES
LEFT JOIN CATEGORIES
ON IMAGES.categoryID = CATEGORIES.categoryID
WHERE image = 'exampleImage'

使用表别名来缩短语句:

SELECT imageID, Image, i.categoryID, c.Category
FROM IMAGES i
LEFT JOIN CATEGORIES c
ON i.categoryID = c.categoryID
WHERE image = 'exampleImage'