![](/img/trans.png)
[英]mySQL table relations or just use one table?! Need Help php mysql
[英]php MySql QUERY for Friends relations Table help
編輯:勞倫斯。
我現在得到正確的查詢
從用戶,朋友中選擇*,其中(users.id = friends.user_id1和friends.user_id2 = $ profileID)或(users.id = friends.user_id2和friends.user_id1 = $ profileID)
回答問題
我需要一些幫助,從我的朋友和用戶表中加入結果
這是我的朋友表的樣子
id user_id1 user_id2
1 | 2 | 3
1 | 2 | 4
1 | 2 | 5
1 | 6 | 2
用戶表
id name
2 | sarah
3 | emma
4 | lawrence
5 | cynthia
6 | suzie
我可以輕松地為每個關系使用兩行並進行簡單的查詢。
但是我更喜歡每個關系一行,
因此,假設我們正在觀看member.php?profile = 2頁面
並且有一個朋友列表,查詢是什么樣的。
如果我每個關系有兩行,但我不想要那...,這可以正常工作。
SELECT * FROM friends, users WHERE friends.user_id1 = $profileID AND friends.user_id2 = users.id ORDER BY friends.id DESC LIMIT 16
你明白我的意思嗎? 像這樣的東西
SELECT * FROM friends,users WHERE friends.user_id1 = $profileID AND ALSO WHERE friends.user_id2 = $profileID AND THEN GET FROM users WHERE users.id = friends.user_id1 AND ALSO WHERE users.id = friends.user_id2
我希望我能說清楚
我不確定我是否理解您的問題,但這不行嗎?
SELECT * FROM friends, users where friends.user_id1 = $profileID or friends.userid2 = $profileID and users.id = friends.user_id1 or users.id = friends.user_id2
你想要一個left join
(使用LEFT JOIN操作),而不是一個cartesian join
(使用FROM table1, table2
語法)。
http://www.w3schools.com/sql/sql_join_left.asp
提示:使用交叉引用表而不是使用id列,您可以創建復合鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.