假设有一个表
id name
1 a
1 a2
1 a3
1 a4
2 a5
2 a6
我要得到这样的效果:
id name name name .....
1 a a2 a3 ....
2 a5 a6........
sql 语句怎么写呢?
坦白说用sql语句很难写,如果你的id这个是动态的...
建议如果是程序要最终的结果的话,还是用程序来转换吧,直接用Sql来写难度是比较大的
你还是换个方式去解决问题。
请搜索一下数据库pivoting
你可以行列互转!
这个问题其实就是行转列,所谓动态SQL其实就是进行字符串的组合
貌似是要动态添加列啊!那如果ID1有5列,而ID2有三列,剩下的两列显示null吗?游标倒是可以实现,不过不太不合适吧,再想想更好的办法去实现吧
id name name name name
1 a a2 a3 a4
2 a5 a6 null null