从一个表中选择一个来自其他表的一个字段的行

时间:2011-06-01 09:07:55

标签: php mysql sql

我想要的是,要显示由其他表单值中的字段选择的表中的行,可以说按最后一个类别ID显示表中的图像。

我有这种类型的查询,但这会返回所有匹配的键行,如果我插入LIMIT 1然后它返回一行......

SELECT i.prof_image FROM profile_images i
JOIN images_cat cat ON (cat.cat_id = i.cat_id)
GROUP BY i.prof_image; 
//OR LIMIT 1;

有任何想法来解决这个问题。 (即显示最新的类别图像)?

2 个答案:

答案 0 :(得分:1)

SELECT * FROM table_1
LEFT JOIN table_2 ON table_1.id = table_2.id

此查询将获取table_2中具有相同id值的所有内容。

请注意,它是LEFT JOIN - 这意味着如果table_2中存在 no 匹配值,它仍会返回table_1中的值。

你使用last()的目的是什么?

希望这有帮助。

答案 1 :(得分:1)

这适用于您的具体示例..如果您需要更具选择性,请发布更多详细信息..

SELECT i.prof_image 
FROM profile_images i 
WHERE cat_id = (select max(cat_id) from images_cat)