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

同一个表的字段相减的有关问题

2012-12-15 
同一个表的字段相减的问题一个表A的结构如图所示:现在想让int_id为1的value值减去int_id为2的value值,且两

同一个表的字段相减的问题
一个表A的结构如图所示:
现在想让int_id为1的value值减去int_id为2的value值,且两个相减的value对应的f_id相等,请问怎么用sql语句表示?

[最优解释]


 SELECT fid,value
 FROM a
 WHERE ini_id=1
 UNION ALL 
 SELECT fid,-1*value
 FROM a
 WHERE ini_id=2

[其他解释]

select a.value-b.value from A a where a.int_id=1 
and exists (select top(1) 1 from A b where a.fid=b.fid and b.int_id=2)

[其他解释]
刷了半天总算看到图了.
你这个同一fid的 int_id为1和2的有多个,是用和来相减吗?
[其他解释]
少了个from,哥,你的代码能不能别那么有创意啊
SELECT  ( ( SELECT  CAST(value AS INT)
             FROM    param a
           ) - ( SELECT  CAST(value AS INT)
                 FROM    param b
               ) )
 FROM    ( SELECT    fid ,
                     value
           FROM      param
           WHERE     int_id = 1
         ) a
         INNER JOIN ( SELECT fid ,
                             value
                      FROM   param
                      WHERE  int_id = 2
                    ) b ON a.fid = b.fid

[其他解释]
图在何处 ? 
[其他解释]
晴天大大,你网速有问题,我能看到图
[其他解释]
这样?
select int_id,fid,sum(case when int_id=1 then value else -value end)as v from tb group by int_id,fid
[其他解释]
这里value是varchar类型  但是这样还会报错
select ((select CAST(value as int) from param a) - (select CAST(value as int) from param b)) (select fid,value from param where int_id=1) a inner join(select fid,value from param where int_id=2) b on a.fid=b.fid


消息 102,级别 15,状态 1,第 1 行'a' 附近有语法错误。消息 102,级别 15,状态 1,第 1 行'b' 附近有语法错误。
[其他解释]

引用:
少了个from,哥,你的代码能不能别那么有创意啊SQL code?123456789101112131415SELECT  ( ( SELECT  CAST(value AS INT)             FROM    param a           ) - ( SELECT  CAST(value AS INT)                 FROM   ……

哥,是你搞错了!

热点排行