【发布时间】:2012-03-29 08:03:34
【问题描述】:
我不是 MySQL 专家,但我可以很好地解决基本问题。感谢您的反馈。
我有两张桌子user 和favorite。每个用户可以有多个独特的收藏夹。
表用户 u
[ user_id + name ]
100 | Sally
最喜欢的餐桌
[ fav_id + user_id + fav_key + fav_val ]
1 | 100 | icecream | mint
2 | 100 | candybar | snickers
3 | 100 | color | red
我想创建一个SELECT 语句,该语句将使用fav_key 值作为列标题将用户的收藏夹转换为列。 *问题是我永远不会知道fav_val 的值是什么,因为这些是用户输入的,所以必须动态生成列名。
选择 ...
[ user_id + name + fav_icecream + fav_candybar + fav_color ]
100 | Sally | mint | snickers | red
考虑到对性能的一些遥远的想法——问题之一是我不想运行两个SELECT 语句来获取用户数据和用户收藏(另外我喜欢有列的想法以这种方式动态命名)。
更新
所以这就是所谓的,旋转的,优秀的。
如果我不知道值是什么怎么办?我需要从收藏夹的查询中动态生成列。
【问题讨论】:
-
pivot in mysql queries 的可能重复项
-
@Lukas_Eder 我不知道这被称为旋转。我想如果我知道要查找什么关键字,那可能会有所帮助。但是我认为这个问题对于不知道要搜索什么的人仍然有用
标签: mysql sql pivot pivot-without-aggregate