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