category
カテゴリ番号をカテゴリ名にリンクするテーブルがあります。例: 1 - 果物、2 - 野菜、3 - 昆虫、4 - 都市など...
item
ちょうど 1 つのカテゴリに属するアイテムを含む別のテーブルがあります。各アイテムには、一意の ID、名前、およびそのカテゴリがあります。例: 314-かぼちゃ-(カテゴリ)1
要するに:
category
-------
c_id (int)
c_name (varchar)
item
-------
i_id (int)
i_name (varchar)
i_cat (int)
問題は、すべてのカテゴリにアイテムがあるわけではないことです。以下を使用して、カテゴリ別に注文されたアイテムを取得しました。
$STH = $DBH->prepare("SELECT * FROM item ORDER BY i_cat");
これは表に組み込まれ、猫 (egory) の変化に応じて見出しが抽出されます。もちろん、項目のないカテゴリはピックアップされません。
私が欲しいのは、すべてのカテゴリ (実際のアイテムがないものも含む) を含み、各カテゴリの下に正しいアイテムをリストするテーブルです。
やりたいことをするための面倒な方法を考案することはできますが、きちんとした解決策があるはずです。すべてのカテゴリとすべてのアイテムが存在するように、1 回の呼び出しで両方のテーブルのデータを結合するにはどうすればよいですか? の使用が含まれているとinner join
思いますが、効率的に行う方法がわかりません。
ありがとう。