根据两个查询的比较计算列

时间:2015-02-25 17:21:39

标签: mysql sql-server sql-server-2008

我正在尝试根据两个查询的比较来计算列。以这两个使用相同表的查询为例。唯一的区别是日期。

-Query for Monday
|Balance: 1,000

-Query for Tuesday
|Balance: 900

比较后,我试图创建的列应该是这个(基于这两个查询):

-Column "payment" 
|Payment: 100

我应该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以加入两个查询:

SELECT     monday_payment - tuesday_payment AS balance
FROM       (SELECT payment AS monday_payment
            FROM   some_table
            WHERE  some_date = /* monday */) m -- Assume this returns one line
CROSS JOIN (SELECT payment AS tuesday_payment
            FROM   some_table
            WHERE  some_date = /* monday */) t -- Assume this returns one line

答案 1 :(得分:0)

由于有许多方法可以为众所周知的SQL猫提供方法,因此这是另一种选择:

  

选择   总和(案例       当date =星期一然后平衡   结束) - 总和(案例       当date = tuesday然后平衡   结束)
  来自表
  日期(星期一,星期二)