问题描述
winform(c#)连接数据库查询出的数据格式如下:7135000月租费207135000市话费207135000长话费20我想显示为如下格式:电话号码月租费市话费长话费7135000202020请问通过程序如何实现?急!
解决方案
解决方案二:
交叉表:TRANSFORMFirst(表1.money)ASmoney之第一条记录SELECT表1.codeFROM表1GROUPBY表1.codePIVOT表1.type;>>>>>Access版...
解决方案三:
数据库行列转换,你用的什么数据库?
解决方案四:
用代码进行行列转换不难吧,创建一个新的DataTable,用DataView.Find填充数据
解决方案五:
http://www.west263.com/www/info/61049-1.htm
解决方案六:
据说楼主用的是INFORMIX数据库,在另外一个帖子里面大家都写了行转列,楼主不中意哦
解决方案七:
引用5楼conan304的回复:
据说楼主用的是INFORMIX数据库,在另外一个帖子里面大家都写了行转列,楼主不中意哦
楼主就想要通用的!
解决方案八:
干脆别在SQL文中烦了自己用代码再攒个DataTable来就完事了
解决方案九:
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Test]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[Test]GOCREATETABLE[dbo].[Test]([Tel][varchar](50)COLLATEChinese_PRC_CI_ASNULL,[Type][varchar](50)COLLATEChinese_PRC_CI_ASNULL,[Funds][decimal](18,0)NULL)ON[PRIMARY]GOINSERTINTO[test]([Tel],[Type],[Funds])values('7135000','月租费',20)INSERTINTO[test]([Tel],[Type],[Funds])values('7135000','市话费',20)INSERTINTO[test]([Tel],[Type],[Funds])values('7135000','长话费',20)declare@sqlvarchar(8000)set@sql='selectTel,'select@sql=@sql+'max(caseTypewhen'''+Type+'''thenFundselse0end)as'''+Type+''','from(selectdistinctTypefromTest)asaselect@sql=left(@sql,len(@sql)-1)+'fromtestgroupbyTel'exec(@sql)
解决方案十:
楼主使用啥数据库啊,看大家着急!!
解决方案十一:
pidtypedata7135000月租费207135000市话费207135000长话费20selectp_id,sum(casewhenpid='7135000'thendataelse0end)data1,sum(casewhenpid='7135000'thendataelse0end)data2,sum(casewhenpid='7135000'thendataelse0end)data3fromtablegroupbypid
解决方案十二:
不懂学习了upupupupupup
解决方案十三:
3楼的朋友,用代码进行行列转换如何实现?示例代码