首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在将 varchar 值 '奋斗林场' 转换成数据类型 int 时失败。求解决办法

2013-11-02 
在将 varchar 值 '奋斗林场' 转换成数据类型 int 时失败。求解决方法?select tb.* ,管护责任书.

在将 varchar 值 '奋斗林场' 转换成数据类型 int 时失败。求解决方法?
select tb.* ,管护责任书.管护负责人 from (
SELECT   林业局,  林场, danwei, RENSHU, 姓名 , 性别, 年龄, 原岗位,责任区号,  日期,管护人编号,是否下岗职工,是否新增就业
FROM  ( SELECT     林业局, 林场, danwei, RENSHU, 姓名,性别, 年龄, 原岗位,责任区号,  日期,管护人编号,是否下岗职工,是否新增就业  FROM   View_林场分组 ) AS derivedtbl_1 
UNION (SELECT     林业局, 林场, danwei, RENSHU, 姓名,性别, 年龄, 原岗位,责任区号, 日期, 管护人编号,是否下岗职工,是否新增就业 FROM   View_林业局人数 )  
UNION (SELECT     林业局, 林场, danwei, RENSHU, 姓名,性别, 年龄, 原岗位,责任区号, 日期, 管护人编号,是否下岗职工,是否新增就业 FROM         View_林场分组 where 是否下岗职工=1 or 是否新增就业=1)
UNION (SELECT     林业局, 林场, danwei, RENSHU, 姓名,性别, 年龄, 原岗位,责任区号,  日期, 管护人编号,是否下岗职工,是否新增就业 FROM         View_林场人员)
 )
 tb
left join 管护责任书 on tb.管护人编号 = 管护责任书.管护人编号

ORDER BY tb.林业局 ,tb.林场, tb.姓名
报错:
在将 varchar 值 '奋斗林场' 转换成数据类型 int 时失败。
求解决方法?新手求教
[解决办法]
现在最关键的是定位问题,你可以一步一步来:

select tb.* ,管护责任书.管护负责人 from (
SELECT   林业局,  林场, danwei, RENSHU, 姓名 , 性别, 年龄, 原岗位,责任区号,  日期,管护人编号,是否下岗职工,是否新增就业
FROM  ( SELECT     林业局, 林场, danwei, RENSHU, 姓名,性别, 年龄, 原岗位,责任区号,  日期,管护人编号,是否下岗职工,是否新增就业  FROM   View_林场分组 ) AS derivedtbl_1 )
 
 tb
left join 管护责任书 on tb.管护人编号 = 管护责任书.管护人编号

ORDER BY tb.林业局 ,tb.林场, tb.姓名


然后再把其他的union 加进去,看看会不会报错,这样就能炸到问题了。
[解决办法]
数据类型不匹配.
举个简单的例子,重现一下LZ的问题,应该明白了吧.


select 100 'x'
union all
select '奋斗林场' 'x'

Msg 245, Level 16, State 1, Line 1
在将 varchar 值 '奋斗林场' 转换成数据类型 int 时失败。

热点排行