0
私は2つのテーブルを持っています - 1つはの記事と、もう1つは記事と関連する写真です。各記事は、私がデータをフェッチするために使用しなし、それに関連する1つまたは複数の写真(外部キーなどのarticle_id)Mysql:結合クエリの作成と読み込み方法
クエリで持つことができます。
SELECT articles.article_id, articles.article_text article_photos.photo_filename
FROM articles, article_photos
WHERE article_photos.article_id = articles.article_id
そして、それは私には+ 1 photo_filenameすべてのデータを返します。
質問2つ以上の写真が記事に関連している場合、どうすれば読むことができますか?
ありがとうございます!
として
article_photos
から
articles
から同じ行を複製するが、異なる行う技術的に彼が求めたもの)。ここで追加された左の結合は、元のクエリが欠けていたもの、つまり写真がない記事(OPが見落としている可能性がある)を示しています。 – keithjgrant@keithjgrant:これは私のバージョンのクエリが、写真が関連していない記事をスキップするだけであることを意味しますか? – CodeVirtuoso
@keithjgrant - Yupは自然に内部結合(exclude null)です。LEFT JOINのONまたはUSING部分に、右側のテーブルに一致する行がない場合、NULLに設定されたすべての列がNULLに設定されている行が、右のテーブル。このファクトを使用して、テーブル内の対応するテーブルがないテーブルの行を見つけることができます。 ' – ajreal