【发布时间】:2015-11-30 16:58:04
【问题描述】:
这是我的桌子:
用户表
id | name
1 | john
2 | lucy
user_accounts 表
id | user_id | account_name
1 2 lucy_lu
2 1 johndoe
account_parameters 表
id | account_id | parameter_id | value
1 1 10 4000
2 1 11 1450
3 2 10 5000
4 2 11 1150
参数表
id | parameter_value | parameter_name
10 height Height
11 max_score Max Score
我想得到结果:
user_id | user_name | account_name | Height | Max Score
1 john johndoe 5000 1150
2 lucy lucy_lu 4000 1450
我搜索了“mysql generate columns with data”之类的,找到了很多针对 1 或 2 个表的解决方案,但我不知道如何在这里实现这些。我知道如何选择带有连接的静态字段,但我不知道如何在此示例中选择“高度”和“最高分数”。
【问题讨论】:
-
GROUP BY 怎么样?
-
我认为 user_id 1 的高度也应该是 4000 和其他数据
-
@AnkitBajpai -
account_id = 1映射到user_id = 2映射到name = lucy=> Lucy 的 user_id 为 2,高度为 4000。 -
@Alex,是的,在这种情况下是 PHP (laravel)。 .@MatBailie 我以这种方式考虑过,但仍在考虑特定的 PHP 方式来做到这一点......
-
@wast - 然后将其标记为 PHP 并询问如何使用 PHP 转换标准化数据集?
标签: php mysql pivot normalization