0
我想知道這兩個查詢是否可以合併,我會稍微解釋一下查詢所做的一些事情。php mysql查詢連接合並
這是我的表結構:
- 用戶:ID,名稱
- usersFacebookFriends:ID,UID,friendUid
- 活動:ID,說明,日期,時間
- activitiesUsers:身份證, activityId,uid
所以我們得到了用戶,用戶有朋友,用戶可以創建活動,多個用戶可以綁定行爲ivities。我希望這很清楚。
SELECT DISTINCT
A.description, A.date, A.time
FROM
usersFacebookFriends UF
JOIN
activitiesUsers AF
ON
AF.uid = UF.friendUid
JOIN
activities A
ON
A.id = AF.activityId
WHERE
UF.uid = :uid
查詢中的uid參數顯然是用戶標識。該查詢的執行後,我現在這樣做:
foreach($activities as $activity){
// SELECT
// U.id, U.name, U.firstName, U.level
// FROM
// activitiesUsers AF
// JOIN
// users U
// ON
// U.id = AF.uid
// WHERE
// AF.activityId = ?
}
所以它有點雙,我仍然可以通過畢竟他們是第一個查詢中獲取的,然後我得到所有用戶的活動圈,有沒有可能合併這些查詢,所以我不必循環獲得所有的活動後,如果是這樣的話?
感謝您的幫助
不工作,可以在一項活動中找到多個用戶。 – randomKek 2012-02-08 15:46:05
@MikeVercoelen你是什麼意思與「不工作」? – dgw 2012-02-08 15:53:11
查詢正在工作,但正如我所說,一個活動可以有多個用戶鏈接,所以當我執行查詢時,它會給出很多結果。 – randomKek 2012-02-08 15:58:04