我有一个表table,有编号(id),名称(name),日期(date)...等字段,通过交叉表查询实现 2007-1-1 2007-1-2 2007-1-3 2007-1-4 ...
编号 名称 名称 名称 名称 ...
编号 名称 名称 名称 名称 ...
编号 名称 名称 名称 名称 ...
...--------------------------------------------------------------------------
declare @sql varchar(5000)
set @sql=''
select @sql=@sql+',['+date+']=max(case date when '''+date+''' then name end)'
from table group by date order by date
set @sql='select id'+@sql+' from table group by id
exec(@sql)
交叉表的查询已经做好了。可目前有个问题就是我的编号字段有些并不是唯一的(有重复),但通过上面的交叉表查询出来的结果是单元格内只显示一条数据。有什么方法能让单元格中同时绑定几个name,中间分分隔符连接?
再有就是我的表中有个BIT型的字段,交叉表查询后是要绑定到GRIDVIEW的,怎样根据BIT的值自定义GRIDVIEW中单元格的背景颜色?谢谢
编号 名称 名称 名称 名称 ...
编号 名称 名称 名称 名称 ...
编号 名称 名称 名称 名称 ...
...--------------------------------------------------------------------------
declare @sql varchar(5000)
set @sql=''
select @sql=@sql+',['+date+']=max(case date when '''+date+''' then name end)'
from table group by date order by date
set @sql='select id'+@sql+' from table group by id
exec(@sql)
交叉表的查询已经做好了。可目前有个问题就是我的编号字段有些并不是唯一的(有重复),但通过上面的交叉表查询出来的结果是单元格内只显示一条数据。有什么方法能让单元格中同时绑定几个name,中间分分隔符连接?
再有就是我的表中有个BIT型的字段,交叉表查询后是要绑定到GRIDVIEW的,怎样根据BIT的值自定义GRIDVIEW中单元格的背景颜色?谢谢
解决方案 »
- Sql2000怎么能取得一月所有天数的日期
- 查询语句的条件部分的书写难点,请指教?
- 请问 如何使查询按某一列排序? 比如按第二列排序? 事先不知道列名
- ☆☆☆求一条SQL语句☆☆☆
- SQL Server 2000--我困惑,我迷茫!求助!
- 请问用什么t-sql语句可以把整个sqlserver停止或暂停???????????????????????????
- vista 中安装sql 2005 开发版问题
- vfp问题?在线急等???
- 如何在insert into 语句中,实现变量传递字段的值!!!!!!!!!(win32编程下)????
- 安装oralce server出错!求救
- 如何用sql语句将一个表中的一条数据插入一个已经存在的表中(急)
- @和@@在什么情况下使用
create function f_str(@id varchar(10))
returns varchar(100)
as
begin
declare @str varchar(100)
set @str=''
select @str=@str+[name] from A where [id]=@id
return @str
end
declare @sql varchar(5000)
set @sql=''
select @sql=@sql+',['+date+']=max(case date when '''+date+''' then dbo.f_str('+id+') end)'
from tablename group by date order by date
set @sql='select id '+@sql+' from tablename group by id'
exec(@sql)
create function f_str(@id varchar(10))
returns varchar(100)
as
begin
declare @str varchar(1000)
set @str=''
select @str=@str+[name] from 表名 where [id]=@id
return @str
end
在语句中调用:declare @sql varchar(5000)
set @sql=''
select @sql=@sql+',['+date+']=max(case date when '''+date+''' then dbo.f_str('+id+') end)'
from 表明 group by date order by date
set @sql='select id '+@sql+' from 表明 group by id'
exec(@sql)