我有两个表(Friends和News_Feed)。我需要从News_Feed表中检索最近的行(最高ID)。问题在于,我只想在News_Feed表中选择与Friends表中两列中任一列相关的行。我还需要通过News_Feed.id进行排序,因此创建两个查询(例如首先选择我的朋友,然后循环到News_Feed查询中)将不起作用。表设置如下:Mysql根据另一个表中的行选择不同的行
-Friends-
ID
用户
user_friending
News_Feed
ID
pertaining_user
动作
orig_comment
我现在,unworking查询,是...
$result = mysql_query("SELECT * FROM News_Feed WHERE pertaining_user=(SELECT user FROM Friends WHERE user_friending='37' AND is_confirmed='1' UNION SELECT user_friending FROM Friends WHERE user='37' AND is_confirmed='1') AND orig_comment='0' ORDER BY id DESC")or die(mysql_error());
while($row_news = mysql_fetch_array($result)){
这将返回子查询返回多行的错误,我明白了。必须有办法做到这一点。
朋友表中有三列? – 2012-01-06 17:00:09
是的。一个只有三列。该表只是在那里显示用户的朋友关系店 – dminicrick1 2012-01-06 17:01:43
@ dminicrick1 - 那么'is_confirmed'从哪里来? – Eric 2012-01-06 17:04:22