SELECT     A.username, A.fullname, A.password, A.userid, A.email, A.telephone, A.mobilephone, A.mphone, A.fax, A.worked_time, A.fee_center, A.reg_num, A.titleofpost, 
                      A.isenable, A.isadmin, A.memo, A.mailsize, A.conf_password, A.guid, A.img, CASE ison WHEN 1 THEN '在岗' ELSE '离岗' END AS isonmc, A.ison, A.orderid, 
                      dbo.EF_GETMNG(A.username) AS 主管, B.org
FROM         dbo.sys_user AS A LEFT OUTER JOIN
                      dbo.sys_orgmenber AS B ON A.username = B.member
UNION
SELECT     bm, cjr, cjrbm, cjrgw, cz, dw, fjh, qq, qyyx, sjdh, txdz, wb, wbyx, xm, yb, yddh, zjh, zy, sslb, gstxl, wldwtxl, guid, ' ' AS Expr1, ' ' AS Expr2, ' ' AS Expr3
FROM         dbo.txl
麻烦给位高手帮忙看看是哪儿出问题了~~急啊~~谢谢了

解决方案 »

  1.   

    找出这个值对应的列'12B91973-364D-9FC7-680470D88874',应该这列是int类型,而你直接插入,导致无法从字符串转换成数值型导致报错。
      

  2.   

    现在就是不知道那个值是对应列'12B91973-364D-9FC7-680470D88874'这个的
      

  3.   

    INT的Range是从2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647)
    你要转换的值为'12B91973-364D-9FC7-680470D88874'不在INT的范围区间,所以无法转换。
    int, bigint, smallint, and tinyint : http://msdn.microsoft.com/en-us/library/ms187745.aspx
      

  4.   

     那你看看哪个是int类型的,也看看ison 这个字段
      

  5.   


    报错的原因都找到了,就是'12B91973-364D-9FC7-680470D88874'这个值类型不在INT类型定义范围内,
    找出你所有字段中为int类型的,看看数据特点,判断出这个值是那个字段的数据你应该自己想办法了
      

  6.   

    方法多的是,数据不多的话,直接把
    SELECT     bm, cjr, cjrbm, cjrgw, cz, dw, fjh, qq, qyyx, sjdh, txdz, wb, wbyx, xm, yb, yddh, zjh, zy, sslb, gstxl, wldwtxl, guid, ' ' AS Expr1, ' ' AS Expr2, ' ' AS Expr3
    FROM         dbo.txl
    出来的结果赋值到excel上,然后搜索'12B91973-364D-9FC7-680470D88874'就知道那个列了
    还有就是找目标表哪几个列是int类型的,缩小范围