У меня есть 2 таблицы:Mysql многоуровневые таблицы присоединиться, чтобы получить информацию о пользователе
Table - Пользователь
userId || username || profileImage
------------------------------------
1 || aa || aaaaa.png
2 || bb || bbbb.png
3 || cc || cccc.png
4 || dd || dddd.png
Таблица - Отношения
relationshipId || user1 || user2 || status
-----------------------------------------------
1 || 1 || 2 || 0
2 || 1 || 3 || 1
3 || 1 || 4 || 1
4 || 2 || 4 || 1
Так что я хочу подробности все пользователи (3,4), которых 1 отправил запрос и статус, принимаются как 1.
Что-то я пробовал:
$stmt = $this->db->prepare("
SELECT users.uId
, users.username
, users.profilePic
from users
JOIN relationship
WHERE (relationship.user_one_Id = :profileUserId || relationship.user_two_Id=:profileUserId)
AND relationship.statusCode=:statusCode
AND users.uId != :profileUserId
LIMIT 6
");
$stmt->bindvalue(":statusCode", 1);
$stmt->bindparam(":profileUserId", $profileUserId);
$stmt->execute();
Но этот запрос дает мне строки в том числе тех, с кем я не друзья тоже. Так где же я ошибся.
Что такое '$ profileUserId'? – RomanPerekhrest
его идентификатор профиля, который я просматриваю .., который должен быть моим собственным профилем r любого другого пользователя в sytsem. –
Обратите внимание, что LIMIT без ORDER BY не имеет смысла – Strawberry