簡體   English   中英

PHP MySQL內部聯接多個值

[英]PHP MySQL inner join multiple values

我得到這個表:

用戶

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

nachrichten

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

我使用以下代碼從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/>';
}

但是如何從user2中獲得昵稱和個人檔案?

您可以為第二個用戶添加另一個與用戶表的聯接

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

嘗試這個:

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%'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM