很抱歉标题说明不正确。我不太确定该如何表达我的要求。

我有3个表需要查询; “人”,“作品集”和“ file_store”。
一个“人”可以有一个或多个“档案夹”,并且每个投资组合可以在“ file_store”中有一个或多个文件(我在此表中存储图像)。
使用“人”中的person_id列作为交叉引用,我想获得第一张作品集中的第一张图片。这样一来,我便可以将登录用户与将用作其主要个人资料图像的图像进行匹配。
我正在运行的查询是(使用PHP):

$result = mysql_query("SELECT file_store_id FROM file_store INNER JOIN portfolio WHERE person_person_id='$id'");
$personProfileImage = mysql_fetch_row($result);
$personProfileImage = $personProfileImage[0];


$ id是已登录用户的person_id(此变量正确且经过测试)。

但是我没有达到我的期望。
$ personProfileImage始终是第一个file_store_id条目,而不是与person_id相关联的file_store_id。
我不得不承认我还没有完全理解MySQL查询...要谨慎...

谢谢你提供的所有帮助。

最佳答案

我得到了一些外部帮助,解决方案是将查询分为两部分并使用“ min”:

SELECT min(portfolio_id) FROM portfolio WHERE person_person_id = '$id'

SELECT min(file_store_id) FROM file_store WHERE portfolio_portfolio_id = $OldestPortfolioID

09-16 01:55