标题:求sql语句修改
只看楼主
jsfchqf
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-8-19
结帖率:50%
已结贴  问题点数:20 回复次数:5 
求sql语句修改
declare @sql varchar(8000)
set @sql='select ygxm'
select @sql=@sql+',case kqdate when '''+kqdate+''' then kqtime else 0 end ['+kqdate+']'
from (select distinct kqdate from kq2015031) as a order by kqdate
set @sql=@sql + ' from kq2015031 group by kqdate,ygxm,kqtime'
exec(@sql)

以上代码执行后显示
消息 245,级别 16,状态 1,第 1 行
在将 nvarchar 值 '12:21:30' 转换成数据类型 int 时失败。

表结构为
bm nvarchar(10),
yggh nvarchar(10),
ygxm nvarchar(10),
kqdate nvarchar(10),
kqtime nvarchar(10)

由于本人刚刚开始学习SQL知识,对一些知识掌握得还不够熟悉,无法找到出错的原因,请哪位老大给予指出,本人不胜感激!!!!
2015-09-15 15:39
mxbing1984
Rank: 7Rank: 7Rank: 7
来 自:贵州道真
等 级:贵宾
威 望:37
帖 子:73
专家分:342
注 册:2014-8-8
得分:5 
declare @sql varchar(8000)
set @sql='select ygxm'
select @sql=@sql+',case kqdate when '''+kqdate+''' then kqtime else ''0'' end ['+kqdate+']'
from (select distinct kqdate from kq2015031) as a order by kqdate
set @sql=@sql + ' from kq2015031 group by kqdate,ygxm,kqtime'
exec(@sql)

天再高,踮起脚尖就能更接近阳光
2015-09-16 09:30
jsfchqf
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-8-19
得分:0 
回复 2楼 mxbing1984
谢谢老大的指点,错误已经解决,但是显示后的结果与我想要得到的结果不符.员工姓名这一列仍然显示的是所有刷卡记录的数量,我原来的目的是想第一列显示姓名,第二列显示本月的第天的考勤记录,依次类推,将该员工当月的考勤记录显示在一行上
例表格式及考勤数据.rar (7.53 KB)
2015-09-16 13:45
mxbing1984
Rank: 7Rank: 7Rank: 7
来 自:贵州道真
等 级:贵宾
威 望:37
帖 子:73
专家分:342
注 册:2014-8-8
得分:10 
--用你的Excel导入的数据测试的
Declare @Sql Varchar(8000)=''
Declare @Where Varchar(6000)=''
Select @Where=@Where+',['+考勤时间+']'
From
(
    Select distinct convert(varchar(10),考勤时间,121) As 考勤时间
    From dbo.Sheet2$
) S
 

Set @Sql='
Select * From
(
    Select *,
    ROW_NUMBER() Over(Partition By 员工工号,年月日 Order by 时分秒) As 序号  
    From (
        Select 员工工号,姓名,
        Convert(Varchar(10),考勤时间,121) As 年月日,
        Convert(varchar(5),考勤时间,8) As 时分秒
        From dbo.Sheet2$
        )M
)N
pivot
(
    Max(时分秒)
    For
    年月日 in('+STUFF(@Where,1,1,'')+')
)p'

Exec (@sql)


天再高,踮起脚尖就能更接近阳光
2015-09-16 14:43
jsfchqf
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-8-19
得分:0 
已经搞定,高人啦,谢谢了!!!!,这些知识一般的书籍好像没有介绍,能推荐一些吗,我也想提高提高.
2015-09-17 08:27
mxbing1984
Rank: 7Rank: 7Rank: 7
来 自:贵州道真
等 级:贵宾
威 望:37
帖 子:73
专家分:342
注 册:2014-8-8
得分:5 
1.SQL2005
Microsoft SQL Server 2005技术内幕:T-SQL查询
Microsoft SQL Server 2005技术内幕:T-SQL程序设计
Microsoft SQL Server 2005技术内幕:存储引擎
Microsoft SQL Server 2005技术内幕:查询、调整和优化
2.SQL2008
SQL Server 2008编程入门经典
SQL Server 2008高级程序设计
SQL Server 2008管理专家指南
这些都不错

天再高,踮起脚尖就能更接近阳光
2015-09-17 09:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-457329-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.111522 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved