タイトル混乱?私は説明しましょう:ここにコードです:JOINテーブルの行が存在しない場合、何もecho(MySQL)
SELECT tmdb_movies.movie_title
,GROUP_CONCAT(DISTINCT videos.videos_name) as videos_name
FROM tmdb_movies
JOIN videos ON videos.videos_tmdb_id=tmdb_movies.tmdb_id
Where tmdb_movies.tmdb_id='31'
GROUP BY tmdb_movies.movie_title
このコードは何もエコーがありません。 Where tmdb_movies.tmdb_id='31'
はvideos
テーブルに存在しないためです。しかし、少なくともtmdb.movies.movie_title
がエコーされるはずです。
JOIN行のいずれかに行が存在しない場合、他のものをエコーする方法はありますか?あなたが質問を理解していなかった場合は
、私は私のテーブル構造を説明してみましょう:tmdb_movies
とvideos
:このコードで
を、という名前の2つのテーブルがあります。私は1対多の関係を使用しています。
tmdb_id movie_title
1 Ironman
2 Logan
3 Boy
4 Superman
そして、これは私のvideos
テーブルがどのように見えるかです::
videos_tmdb_id videos_name
1 Ironman Trailer
2 Logan Trailer #1
2 Logan Trailer #2
3 Boy Trailer #1
3 Boy teaser
4 Superman Trailer #1
4 Superman Teaser
と私はそれらを接続し、両方のテーブルがtmdb_id
これは私のtmdb_movies
テーブルがどのように見えるかであるを使用して相互に接続されていますこのような外部キーを介して:
私にお知らせください、より多くの情報が必要な場合。
、それはデフォルトでは、JOINはどれ –
簡単でしたか?自己結合? –
'内部結合'、 '自己結合'は、2つのエイリアスを作成することによってsigleテーブルに加わることができるものです。 –