看板 Database 關於我們 聯絡資訊
※ 引述《smlboby (波比)》之銘言: : ※ 引述《jjjkkkooo (接科噎歐)》之銘言: : : 各位版友大家好 : : 在下在開發類似社群的網站平台,惟獨資料庫苦手 : : 急救章讀了些書,簡單查詢不是大問題,但一遇到 : : 稍微複雜的查詢就當機好久,以下的問題就麻煩版 : : 友們解答了,我的資料庫是MySQL : : 我有一個名叫friend的Table如下: : : ------------ : : user_id | friend_user_id : : ------------ : : 1 | 2 : : 1 | 3 : : 1 | 4 : : 1 | 5 : : 2 | 1 : : 3 | 5 : : 由於加入好友機制是雙向的,如果上以圖為例 : : 1加入2為好友,2也接受1的交友,這樣二者才 : : 是真正的好友關係,如果我現在要查詢1的好友 : : SQL語法該如何下? : : 我用了幾個很笨的方法,其中一個是 : : SELECT * FROM friend where user_id = 1 OR friend_user_id = 1 : : ↑把上面這段當子查詢,再查詢....真的很笨 : : 不知道有無好的解法?感謝回答 <(_ _)> : 用自己 join 的方式作 ?! : T-SQL(請自行翻譯) : : select MTable.* : from friend as MTable join friend as STable : on MTable.friend_user_id = STable.user_id : and MTable.user_id = STable.friend_user_id : and MTable.user_id = 1 自問自答一下,我後來想到一個方法: select * from friend where friend_user_id in ( select user_id from friend where friend_user_id = 1) and user_id = 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.210.121