日期:2014-05-16  浏览次数:20621 次

mysql数据读取的行列转换问题
请教下大家。比如一个表的字段属性如图:
每个产品有三个属性。那么一般在循环读取商品信息的时候 也是 商品1的属性展示完以后循环商品2依次往后。但是现在 我要做个商品的对比功能: 比如我选择商品1和商品3进行属性对比。展示效果如图:


这个sql行列转换要怎么写呢?

------解决方案--------------------
反正要前台显示,建议还是用前台程序来处理,灵活又省服务器资源:
SQL code
select '价格' as '属性', sum(if(产品名称='nokia', 价格, 0)) as nokia, sum(if(产品名称='sanxing', 价格, 0)) as sanxing
union
select '体积' as '属性', sum(if(产品名称='nokia', 体积, 0)) as nokia, sum(if(产品名称='sanxing', 体积, 0)) as sanxing
union
select '厚度' as '属性', sum(if(产品名称='nokia', 厚度, 0)) as nokia, sum(if(产品名称='sanxing', 厚度, 0)) as sanxing

------解决方案--------------------
探讨

引用:

反正要前台显示,建议还是用前台程序来处理,灵活又省服务器资源:
SQL code
select '价格' as '属性', sum(if(产品名称='nokia', 价格, 0)) as nokia, sum(if(产品名称='sanxing', 价格, 0)) as sanxing
union
select '体积' as '属性', sum(if(产品……

------解决方案--------------------
你的表名、字段名是什么


贴建表及插入记录的SQL,及要求结果出来看看