3 つのテーブルを持つデータベースがあります。
Products
MaterialsProducts
Materials
テーブル間の関係は次のようになります。
Materials 1-* MaterialsProducts *-1 Products
多くの場合、 200 以上の製品とそれに関連する材料データを (Materials
テーブルから) 取得する必要があります。
現在、次のように行われています。
SQL: 関連するすべての製品を選択します PHP: 選択した製品を反復処理し、データベースを呼び出して各製品の材料データを選択します
(製品ごとにデータベース呼び出しを生成します!)
関連するすべての製品とその材料データを同時に選択する方法はありますか? それでも、各製品は結果で 1 行しか使用しません。
したがって、解決策は ではありません"SELECT * FROM products p, materialsproducts mp, materials m WHERE p.id = mp.productid AND m.id = mp.materialid WHERE x"
。(その SELECT は、各製品が結果で複数の行を占めるようにします。)