2013-03-14 67 views
-4

我有一個MySQL的帳戶與account_follow名稱。在選定的查詢中選擇?

追隨者和跟隨指向用戶ID。

當follower字段指向後面的字段,意味着用戶,跟隨一個具有特定ID的人,當follower指向follow和follow指向follower時,意味着follower和follow之間是友誼。我的問題是如何選擇跟隨者的朋友(追隨者領域)與這個架構,例如,我想選擇一個追隨者,並得到朋友,它是否在查詢?或者我必須解決這個在PHP(我不應該使用)?

enter image description here

例如:

  • 1和2是朋友。
  • 2跟着1但不是朋友。
  • 1和3是朋友。
+3

對不起,我不能跟隨你的問題。 – mellamokb 2013-03-14 19:36:03

+1

追隨者跟隨需求跟隨隨從追隨者跟着...什麼? – mavili 2013-03-14 19:36:06

+0

請澄清你的問題......它太混亂。 – Barranka 2013-03-14 19:36:59

回答

1

我希望我理解正確你的問題......

無論如何,你可以通過用戶ID的「跟隨」一個逗號分隔的列表。我假設你基於用戶ID查詢。

FollowedList = Convert(varchar(50),replace( 
    (SELECT distinct followed as [data()] 
    FROM account_follow a 
    WHERE a.follower = b.user_id 
    ORDER BY follower_id for xml path ('')), ' ', ',')) 

這是一個子查詢 - 因此你會在加入本表與主表,這是在此查詢簡稱爲「B」的主查詢選擇FollowedList。

如果列表超長,您可能需要將其轉換爲不僅僅是varchar(50)。

+0

tnx德文爲您的關注和時間。 – 2013-03-14 20:04:39