这个问题在这里已经有答案了:
mysql-从行到列(12个答案)
两年前关门了。
这是我的表格和示例数据:
| attr_key | attr_value | element_id |<br>
| color | black | 1 |<br>
| color | red | 2 |<br>
| color | green | 3 |<br>
| power | 82 | 1 |<br>
| power | 150 | 2 |<br>
| power | 240 | 3 |<br>
| and so on ...
如何查询此表以得到如下结果:
| color | power | element_id |<br>
| black | 82 | 1 |<br>
| red | 150 | 2 |<br>
| green | 240 | 3 |
``` `GROUP BY` 不起作用,因为它只接受每个元素的第一个属性,\u id,而其他属性将丢失。
我必须创建一个视图吗?
将属性直接放入我的 `elements` -表,例如在json字段中?这些属性是非常可变的,所以每个元素可能有很多属性(超过20个),我不确定当我必须查询和检查特定属性(全部或只有少数)时,哪个解决方案的性能会更好。。
稍后我想加入另一个表( `elements` )使用 `element_id` .
1条答案
按热度按时间mzaanser1#
这将满足您的需要(用表名替换“test\u table”的所有示例):
我用来设置测试的代码: