PHP MySQL внутреннее соединение нескольких значений

Я получил эти таблицы:

Таблица пользователь:

|    userid    | nickname   |   profilpic  |
|33460794335580| KING_ED    |5435345345.jpg|
|86426315360152| Caro010716 |654664656.jpg |

Таблица Nachrichten:

|              file             |      user1      |     user2     |
|33460794335580_86426315360152  | 33460794335580  |86426315360152 |

Я использую этот код, чтобы получить ник и profilpic от user1:

$myid = 33460794335580;
$msgquery = mysqli_query($con, "SELECT
user.nickname,user.profilpic,nachrichten.user1,nachrichten.user2
FROM user
INNER JOIN nachrichten ON nachrichten.user1 = user.userid
WHERE nachrichten.file LIKE '%$myid%'");while($daten = mysqli_fetch_assoc($msgquery))
{
echo 'The user-id ' . $daten['user1'] . ' got the Nickname: ' . $daten['nickname'] . ' and profilpic is: ' . $daten['profilpic'] . '<br/>';
echo 'The user-id ' . $daten['user2'] . ' got the Nickname: ' . ???????????????? . ' and profilpic is: ' . ?????????????? . '<br/>';
}

Но как мне также получить ник и profilpic от user2?

0

Решение

Вы можете добавить еще одно соединение с таблицей пользователя для второго пользователя

SELECT
u.nickname nickname1,
u.profilpic profilpic1,
u1.nickname nickname2,
u1.profilpic profilpic2,
n.user1,
n.user2
FROM
nachrichten n
INNER JOIN  user u
ON n.user1 = u.userid
INNER JOIN  user u1
ON n.user2 = u1.userid
WHERE ....

Demo

0

Другие решения

Попробуй это:

SELECT u1.nickname AS user1_name,u1.profilpic AS user1_pic, u2.nickname AS user2_name, u2.profilpic AS user2_pic
FROM nachrichten n
INNER JOIN user u1 ON n.user1 = u1.userid
INNER JOIN user u2 ON n.user2 = u2.userid
WHERE nachrichten.file LIKE '%$myid%'
0

По вопросам рекламы [email protected]