【问题标题】:subtract two rows values using t-sql使用 t-sql 减去两行值
【发布时间】:2018-03-22 19:50:03
【问题描述】:

我想从第 8 个月的工资中减去第 7 个月的工资值 使用 t-sql 谁能帮我我是 tsql 的新手

身份证年月工资 1088 2017 8 -29766.250 0.000 1088 2015 7 -58.500 0.000

【问题讨论】:

  • 你不知道如何解决这个问题吗?你有没有尝试过?
  • 为什么是sybase 标签?你真的瞄准Sybase吗?
  • 如何选择行?只是 any month 8,无论年份如何?或者你想要每个月的总和?为什么ID 会重复?您想比较每个员工的月薪吗?除非你解释你真正想要做什么,否则不可能给出任何的答案。每个需求都需要一个不同的查询
  • 我只想选择月份和年份。不需要任何东西。想用当前工资减去上个月工资来显示差异
  • 在您的示例中,07/2015 早于 08/2017,因为这几个月之间没有存储记录?而 08/2017 是当前月份,因为表中没有存储较晚的月份? (我猜,重复的 ID 只是一个错字?因为表的 ID 当然应该是唯一的,以便识别记录。)

标签: tsql sybase


【解决方案1】:

最简单的方法:对每个值使用子查询(即将select a - b 中的ab 替换为子查询):

select 
  (select salary from mytable where year = 2017 and month = 8) -
  (select salary from mytable where year = 2015 and month = 7) as diff;

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多