当前位置:编程学习 > C#/ASP.NET >>

winform(c#)显示问题

winform(c#)连接数据库查询出的数据格式如下: 
7135000 月租费 20 
7135000 市话费 20 
7135000 长话费 20 
我想显示为如下格式:电话号码 月租费 市话费 长话费 
                    7135000  20    20    20 
请问通过程序如何实现?急! --------------------编程问答-------------------- 交叉表:


TRANSFORM First(表1.money) AS money之第一条记录
SELECT 表1.code
FROM 表1
GROUP BY 表1.code
PIVOT 表1.type;


>>>>>Access版... --------------------编程问答-------------------- 数据库行列转换,你用的什么数据库? --------------------编程问答-------------------- 用代码进行行列转换不难吧, 创建一个新的DataTable, 用DataView.Find填充数据 --------------------编程问答-------------------- http://www.west263.com/www/info/61049-1.htm --------------------编程问答-------------------- 据说楼主用的是INFORMIX数据库,在另外一个帖子里面大家都写了行转列,楼主不中意哦 --------------------编程问答--------------------
引用 5 楼 conan304 的回复:
据说楼主用的是INFORMIX数据库,在另外一个帖子里面大家都写了行转列,楼主不中意哦

楼主就想要通用的! --------------------编程问答-------------------- 干脆别在SQL文中烦了
自己用代码再攒个DataTable来就完事了 --------------------编程问答-------------------- if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Test]
GO

CREATE TABLE [dbo].[Test] (
[Tel] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Type] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Funds] [decimal](18, 0) NULL 
) ON [PRIMARY]
GO

INSERT   INTO   [test]   ([Tel],[Type],[Funds])   values   ('7135000','月租费',20)   
INSERT   INTO   [test]   ([Tel],[Type],[Funds])   values   ('7135000','市话费',20)   
INSERT   INTO   [test]   ([Tel],[Type],[Funds])   values   ('7135000','长话费',20)   

declare   @sql   varchar(8000)   
    
  set   @sql   =   'select   Tel,'   
  select   @sql   =   @sql   +   'max(case   Type   when   '''+Type+'''     
                                                      then   Funds   else   0   end)   as   '''+Type+''','   
      from   (select   distinct   Type   from   Test)   as   a     
  select   @sql   =   left(@sql,len(@sql)-1)   +   '   from   test   group   by   Tel'   
  exec(@sql) --------------------编程问答-------------------- 楼主使用啥数据库啊,看大家着急!! --------------------编程问答-------------------- pid       type  data
7135000  月租费  20 
7135000  市话费  20 
7135000  长话费  20


select p_id, 
sum(case when pid='7135000'then data else 0 end ) data1, 
sum(case when pid='7135000'then data else 0 end ) data2, 
sum(case when pid='7135000'then data else 0 end ) data3 
from table group by pid
--------------------编程问答-------------------- 不懂
学习了
upupupupupup --------------------编程问答-------------------- 3楼的朋友,用代码进行行列转换如何实现?示例代码
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,