我有三個表的數據庫:的MySQL/PHP,獲得在一個所有的數據去
Products
MaterialsProducts
Materials
表之間的關係是這樣的:
Materials 1-* MaterialsProducts *-1 Products
很多時候我需要檢索200多種產品及其相關材料數據(來自Materials
表)。
目前,它是這樣完成的:
SQL: select all relevant products PHP: iterate through the selected products, calling the database to select
material data for each product(generating a database call for each product!)
有沒有辦法選擇的所有相關產品+他們的物質數據在同一時間?結果中每件產品只佔用一排。
所以解決方案不應該是"SELECT * FROM products p, materialsproducts mp, materials m WHERE p.id = mp.productid AND m.id = mp.materialid WHERE x"
。 (這SELECT將使每一個產品佔用多行的結果。)
您可以使用JOIN .. –
你想每個產品一行,其中每個產品的成分是摺疊成一行? –
這正是我想要的。每個產品一行,其中materialdata摺疊爲同一行中的1+個字段。 – Louisa