Articles
というテーブルがあります。私もTags
のテーブルを持っています。タグテーブルは実際には記事とタグの多対多の関係として2つの別々のテーブルを持っています。たとえば:MySQL Join。あるテーブルから別のテーブルに複数の行を結合しますか?
CREATE TABLE Articles (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT
title VARCHAR(255),
author INT UNSIGNED NOT NULL,
body TEXT NOT NULL -- column type may not be representative
) Engine=InnoDB;
CREATE TABLE Tags (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(32)
) Engine=InnoDB;
CREATE TABLE Article_Tags (
article INT UNSIGNED NOT NULL,
tag INT UNSIGNED NOT NULL,
FOREIGN KEY (article) REFERENCES Articles (id),
FOREIGN KEY (tag) REFERENCES Tags (id)
) Engine=InnoDB;
を今、それはまた、同じクエリのタグテーブルからその記事に関連するすべてのタグを記事を返すために、単一のクエリを実行し、することは可能でしょうか?
いいえ、それは宿題ではありません。私は実際にプロジェクトに関連するCodeIgniterフォーラム(私が必要ならばリンクすることができます)に質問を投稿し、誰かが単一のクエリを実行するように提案しました。私はそれが可能かどうかわからなかったので、私は尋ねていた。 – GV1
あなたは通常、table2.table1ID = table1.id内部結合table3上の 'select * from table1 inner join table2を実行します。ON table3.id = table2.table3id'ここで' table2'はあなたのリンクテーブルです。 –
私は参照してください。私は私の結合が、それらをしばらく使用していないことを要約する必要があります。 – GV1