2013-03-25 27 views
-3

編輯:如何搜索MYSQL數據庫有幾個何在

這裏是我的表:

[user_friend表:

  • ID,-user_id
  • friend_id
  • 時間

[後]表:

  • ID
  • USER_ID
  • 原因
  • check_in_time

現在,讓我們只說當前用戶的ID爲 '1',我想搜索的表user_friend對所有行將user_id設置爲1,然後將所有friend_id中user_id爲'1'的所有行放入一個var或者其他東西(讓我們假設有3行,其中friend_id分別爲2,3 $ 4)。

現在我想要獲取當前用戶的朋友的id的任何user_id晚表中的行的id(對於這種情況下它是2,3 & 4)。希望它可以幫助

+0

SQL 101:'WHERE(條件1)AND(條件2)'...? – Izkata 2013-03-25 13:51:32

+2

請向我們展示表格結構。 – 2013-03-25 13:51:52

+0

WHERE _ OR _/ WHERE _ IN(_,_,_) – MyMomSaysIamSpecial 2013-03-25 13:52:55

回答

0

UPDATE

如果我理解你的新的信息正確,這將「從user_friend表爲什麼會產生電流user_id = 1,它將使用的friend_id此列表」中選擇的friend_id列表s從late中選擇所有那些出現friend_id的條目。

SELECT * FROM late WHERE user_id IN (SELECT friend_id FROM user_friend where user_id=1); 

您也可以使用表連接實現相同。但是解釋起來並不容易。

原始響應 推薦這樣做的方法可以是使用WHERE IN (SUB SELECT),但這可能不是最有效的...這要依賴於你的數據結構和數據量 - 但你不提供足夠的信息...

喜歡的東西:

SELECT * FROM late WHERE user_id IN (SELECT * FROM user_friends WHERE id IN (1,2,3)); 

正如我說,有最definatley更好的方法 - 但更多的信息將幫助。

+0

我已經給所有東西 – 2013-03-25 15:10:36

+0

讓我給你另一個例子,如Facebook,以獲得當前用戶的朋友的帖子,你必須先獲得當前用戶的朋友的ID在他們的ID在其他表中搜索他們的職位,沒有人知道這個MYSQL查詢 – 2013-03-25 15:20:38

+0

不,你沒有......沒有描述你的表的內部,沒有關於數據量的指示。如果你認爲你已經爲所有人提供了一切幫助你在這裏....好吧.... – diagonalbatman 2013-03-25 15:21:09