【问题标题】:How can I get a difference of two columns in two different tables in a SELECT query如何在 SELECT 查询中获得两个不同表中的两列的差异
【发布时间】:2012-04-19 23:24:17
【问题描述】:

我想将下面的两个查询合并为一个并获得不同的结果。

查询 1

SELECT SUM(col1 + col2) As total FROM tableA

查询 2

SELECT SUM(total) FROM tableB WHERE color not like '%black' and model not like 'CF%'

我想将这些组合到一个 SELECT 查询中并获得结果:查询 1 - 查询 2 = 结果。这两个表都有一个“id”作为它们之间的公共键。我正在使用 MS SQL Server 2008

【问题讨论】:

  • 请发布一些示例数据和所需的输出。

标签: sql database select


【解决方案1】:
SELECT  (
        SELECT  SUM(col1 + col2)
        FROM    tableA
        ) -
        (
        SELECT  SUM(total) 
        FROM    tableB
        WHERE   color NOT LIKE '%black'
                AND model NOT LIKE 'CF%'
        ) AS result

【讨论】:

    【解决方案2】:

    使用您的两个查询作为列进行外部选择。

    类似

    SELECT (Query1) - (Query2) as Diff

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多