Я хочу знать, могут ли эти два запроса быть объединены, я немного объясню, что делают запросы.php mysql query join merge
Это моя структура таблицы:
- пользователей: идентификатор, имя
- usersFacebookFriends: идентификатор, UID, friendUid
- деятельности: Удостоверение личности, описание, дата, время
- 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
@MikeVercoelen Что значит «не работает»? – dgw
запрос работает, но, как я уже сказал, действие может иметь несколько пользователей, связанных, поэтому, когда я выполняю запрос, он даст много результатов. – randomKek