0
我有用戶表 有ID場 和友誼表frienduser有friend1id或friend2id,根據誰發送給誰第一 和喜歡的請求表| | THREAD_ID - 用戶ID 我想從用戶選擇誰是我的朋友的人,喜歡的話題如何讓朋友誰喜歡我的話題
我有用戶表 有ID場 和友誼表frienduser有friend1id或friend2id,根據誰發送給誰第一 和喜歡的請求表| | THREAD_ID - 用戶ID 我想從用戶選擇誰是我的朋友的人,喜歡的話題如何讓朋友誰喜歡我的話題
這醜陋的部分是frienduser表既可以鏈接的事實ID。我認爲解決這個問題的最簡單方法就是與工會組織在一起。
/* Case 1: My ID is friend1id, my friend is friend2id */
select u2.*
from users u1
inner join frienduser f
on u1.id = f.friend1id
inner join users u2
on f.friend2id = u2.id
inner join likes l
on u2.id = l.userid
where u1.id = @MyUserId
and l.threadid = @MyThreadId
union
/* Case 2: My ID is friend2id, my friend is friend1id */
select u2.*
from users u1
inner join frienduser f
on u1.id = f.friend2id
inner join users u2
on f.friend1id = u2.id
inner join likes l
on u2.id = l.userid
where u1.id = @MyUserId
and l.threadid = @MyThreadId
我看到一些拼寫錯誤,那裏有'users'和'frienduser'等。 – Jakub 2010-12-17 20:12:31
我無法編輯,但我認爲是'users'表。你是要求幫助與PHP或MySQL?無論哪種方式,需要更多的代碼 – piddl0r 2010-12-17 20:13:35
看起來像一個純粹的mysql的東西,更多的架構將是很好的 – zanlok 2010-12-17 20:17:11