对不起的标题说明感到抱歉。我不太确定如何说出我的要求。
我需要查询3个表; 'person','portfolio'和'file_store'。 “人”可以拥有一个或多个“投资组合”,每个投资组合可以在“file_store”中包含一个或多个文件(我在此表中存储图像)。 使用'person'中的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查询......温柔......
感谢您提供任何帮助。
答案 0 :(得分:0)
我得到了一些外部帮助,解决方案是将查询分成两部分并使用'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