簡體   English   中英

如何在多行中以相同的ID在MYSQL中聯接2個表

[英]How to JOIN 2 tables in MYSQL with same ID on multiple rows

我很難解決這個問題。 希望有人可以幫助我解決這個問題。


例如。 我有一個視頻網站,在這個視頻網站中,我可以提交視頻帖子,並標明該視頻中播放的人的名字。 但我不想僅添加1個名稱,也可以添加更多名稱。 因此,我將擁有一個video.php頁面,在此頁面中,我可以提交視頻的視頻標題以及其中播放的人的姓名。

表格: 發布

    -------------------------------------------
  -- video_id ---- video_name ----  video_cast -- 
    -------------------------------------------
       1              Vid-1           1
       2              Vid-2           2
       3              Vid-2           2   

表: 演員

    -----------------------------------------
  -- cast_id ----  cast_name ----  cast_video -- 
    -----------------------------------------
       1              John            1
       2              Erik            2
       3              Ela             2

現在,如果我會在我的主頁上,並且看到此新帖子。 如果我點擊它。 它將在標頭中發送video_id信息,因此我可以從video.php中獲取它。

頁面: video.php

<?php   

    $id = $_GET['id'];
    $result = mysql_query
    ("
        SELECT * 
        FROM post 
        LEFT JOIN cast 
        ON post.video_cast = cast.cast_video
        WHERE video_id='$id' 
    ");

    while($row = mysql_fetch_array($result)){
        echo ' 
                   <h1>'.$row['video_name'].'</h1> 
                   starring: '.$row['cast_name'].
                 ';                   
    }
?>

現在,我將如何顯示與視頻關聯的video_name和所有cast_name 我使用的JOIN代碼只能在表格中顯示1個名稱。 有人知道我該如何獲取其他剩余的姓名?

您可以使用group_concat()在一行中列出名稱

 SELECT video_name, group_concat(cast_name) cast
 FROM post 
 LEFT JOIN cast ON post.video_cast = cast.cast_video
 WHERE video_id='$id' 
 group by video_name

暫無
暫無

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

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