我知道这是一个已经做了的问题,但我发现所有的答案不适合我的需要,更重要的是,我无法尾随一个适当的解决办法自己。
我解释情况:
两个表(user,user\u preferences)在第一个表中,正如您可能猜到的,有name,last name,id和login(有更多的数据,但这些是我需要的),在第二个表中,我们有user\u id,preferences\u key和preferences\u value。
如果我运行查询:
select a.id, a.login, a.first_name, a.last_name, b.preferences_key from users a, user_preferences b where a.id=b.user_id and b.preferences_key like 'msg%';
我得到了这样的回答:
+----+---------+---------------+---------------+----------------------+
| id | login | first_name | last_name | preferences_key |
+----+---------+---------------+---------------+----------------------+
| 4 | usrn1 | User1 | NumberOne | msg002 |
| 7 | usrn5 | User5 | NumberFive | msg001 |
| 7 | usrn5 | User5 | NumberFive | msg002 |
| 10 | usrn9 | User0 | NumberNine | msg002 |
+----+---------+---------------+---------------+----------------------+
我想知道如何从这个视图切换到这个视图:
+----+---------+---------------+---------------+--------+--------+
| id | login | first_name | last_name | msg001 | msg002 |
+----+---------+---------------+---------------+--------+--------+
| 4 | usrn1 | User1 | NumberOne | No | Yes |
| 7 | usrn5 | User5 | NumberFive | Yes | Yes |
| 10 | usrn9 | User0 | NumberNine | No | Yes |
+----+---------+---------------+---------------+--------+--------+
如果您有任何建议,我将不胜感激,顺便说一句,如果您能再补充一些解释,我将不胜感激。
谢谢您
1条答案
按热度按时间pgvzfuti1#
据我所知,没有一种像你想的那样简单地调整table的方法。
通过多次连接到同一个表,有以下手动方法。类似于以下的方法应该可以工作:
如果这没用的话。查看mysql数据透视表