表设计:
部门编号,部门名称,使用类型,执行情况,制度类型(a,b,c)
语句:
为简略,下面简写
部门名称:id
使用类型:a
执行情况:b
制度类型:c
select id,max(t2.a),max(t2.b),max(t3.a),max(t3.b),max(t4.a),max(t4.b)直接这上面写的,没测试,领会精神吧,应该是没错
追问SQL语句能不能变成动态的? 部门和制度都数量都可能变化的。。。
追答部门和制度都数量都可能变化的 ,什么意思,没看明白
追问就是这个表不是固定的,行数和列数都可能会增加,(比如:今天新增了一个制度,如果用上面的SQL语句,我不得又回来改SQL语句了么。。。能不能写个通用一点一点的。。。)就像 http://blog.csdn.net/szstephenzhou/article/details/7091819 的动态SQL。。。
追答...你要动态列名,那很麻烦的,你发的这个也不会是动态列明的,因为pivot方法也是要写出来列名称的,你想,要不我怎么知道你的列名起的名字是什么,你这肯定要写函数了,等于说要给你定义的列名一个规则,然后用pivot来实现,很麻烦,,