日期:2014-05-18  浏览次数:20562 次

~~~求救sql2005行列转换问题~~~~~~~~~~~
电话号码 区域 开通类型 AP值 金融次数 教育次数 医疗次数 通信次数 旅游次数 文化次数 工业次数 广告次数13002300001 江北 生活 205.61 10
13002300001 江北 新闻 205.61 10
13002300001 南岸 惠动山城 205.61 10

怎么转换为 :
电话号码 区域 生活 新闻 惠动山城 AP值 金融次数 教育次数 医疗次数 通信次数 旅游次数 文化次数 工业次数13002300001 江北 1 1 1 205.61 10


主要是“开通类型”这列要转换,如果“电话号码”相同(就是3种“类型”都开通的号码)转换后标1。 相同号码“开通类型”后面的数据都一样,就保留一条就够了,如“旅游次数”都是10次,转换后就是“10”,“AP值”是205.61。

------解决方案--------------------
02300001

13002300001
是一个值?

能否告诉这类的数据的规律?
------解决方案--------------------
max是因為用group by,非group by 字段要用聚合函數,max在這里是個無意思卻又不得不要的函數.
case then是用來進行分類了,用來區分'开通类型'