我有三個表:產品名稱,參數名稱和參數值,部分產品:如何從三個表中獲取數據MySQL?
產品
+-------+-------------+
| id | name |
+-------+-------------+
| 1 | A100 |
+-------+-------------+
| 2 | B250 |
+-------+-------------+
PARAMS
+-------+-------------+
| id | name |
+-------+-------------+
| 1 | width |
+-------+-------------+
| 2 | color |
+-------+-------------+
paramsofproducts
+-------+-----------+-----------+-----------+
| id | product | param | value |
+-------+-----------+-----------+-----------+
| 1 | 1 | 1 | 120 |
+-------+-----------+-----------+-----------+
| 2 | 1 | 2 | white |
+-------+-----------+-----------+-----------+
| 3 | 2 | 1 | 275 |
+-------+-----------+-----------+-----------+
| 4 | 2 | 2 | black |
+-------+-----------+-----------+-----------+
以及如何通過查詢此表(所有產品+參數爲列)?我不能做到寬度加入。
+-------+----------+-----------+-----------+
| id | name | width | color |
+-------+----------+-----------+-----------+
| 1 | A100 | 120 | white |
+-------+----------+-----------+-----------+
| 2 | B250 | 275 | black |
+-------+----------+-----------+-----------+
你試過了什麼? – hjpotter92
你可以構造一個數據透視表查詢,但是我的偏好(特別是數字屬性['params']未知)只是返回分組和排序結果並處理表示層/應用程序級代碼中的格式。此外,您的'paramsofproducts'表中的id列大概沒有意義 - 我們也不會upvote faqs – Strawberry
爲什麼不能用'JOIN'來做到這一點? – arkascha