[英]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.