本帖最后由 superNANA_MUMU 于 2011-01-27 12:41:04 编辑

解决方案 »

  1.   


    SELECT A.区站号, cast(replace('---','0',A.数量) as int)-cast(replace('---','0',B.数量) as int) as 数量
    from 
    (SELECT * FROM 数据文件 WHERE (型号 = 'A')) a join
    (SELECT * FROM 数据文件 WHERE (型号 = 'B')) b
    on A.区站号=B.区站号
      

  2.   

    cast(isnull(A.数量,0) as int)-cast(isnull(B.数量,0) as int)
      

  3.   

    SELECT A.区站号, cast(replace(A.数量,'---','0') as int)-cast(replace(B.数量,'---','0') as int) as 数量
    from 
    (SELECT * FROM 数据文件 WHERE (型号 = 'A')) a join
    (SELECT * FROM 数据文件 WHERE (型号 = 'B')) b
    on A.区站号=B.区站号  
    试试
      

  4.   


    --咦!参数打反呢?
    SELECT A.区站号, cast(replace(A.数量,'---','0') as int)-cast(replace(B.数量,'---','0') as int) as 数量
    from 
    (SELECT * FROM 数据文件 WHERE (型号 = 'A')) a join
    (SELECT * FROM 数据文件 WHERE (型号 = 'B')) b
    on A.区站号=B.区站号
      

  5.   

    cast(replace(A.数量,'----','0') as int)
      

  6.   


    SELECT A.区站号, 
    cast(REPLACE(A.数量,'-','') as int)-cast(REPLACE(B.数量,'-','') as int)
     as 数量
    from 
    (SELECT * FROM 数据文件 WHERE (型号 = 'A')) a join
    (SELECT * FROM 数据文件 WHERE (型号 = 'B')) b
    on A.区站号=B.区站号  
      

  7.   


    SELECT A.区站号, cast(A.数量as int)-cast(B.数量as int) as 数量
    from 
    (SELECT * FROM 数据文件 WHERE (型号 = 'A')) a join
    (SELECT * FROM 数据文件 WHERE (型号 = 'B')) b
    on A.区站号=B.区站号 
    where isnumeric(A.数量)=1 and isnumeric(B.数量)=1