我有兩個表(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