sql - 如何在 SQL Server CE 中将两个 SQL SELECT 查询合并为一个查询?

标签 sql database select sql-server-ce

我有两个 SELECT 查询,它们返回大于 45 和小于 45。我需要将这两个查询合并为一个。如果可能,我该如何实现?

查询 1:

SELECT 
    SUM(tbl_invoices.pendingamount) AS morethan45 
FROM
    tbl_debit 
INNER JOIN 
    tbl_invoices ON tbl_debit.invoice = tbl_invoices.invoice  
WHERE 
    (tbl_invoices.state = - 1) 
    AND (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) >= 45)

查询 2:

SELECT 
    SUM(tbl_invoices.pendingamount) AS lessthan45
FROM 
    tbl_debit 
INNER JOIN 
    tbl_invoices ON tbl_debit.invoice = tbl_invoices.invoice  
WHERE 
    (tbl_invoices.state = - 1) 
    AND (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) < 45)

我尝试了以下查询,但它返回了一个错误。

SELECT (Query 1),(Query 2)

请帮我解决这个问题。

最佳答案

你应该能够使用CASE,类似;

SELECT 
  SUM(CASE WHEN (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) >= 45)
           THEN tbl_invoices.pendingamount ELSE 0 END) AS morethan45,
  SUM(CASE WHEN (DATEDIFF(day, tbl_debit.purchasedate, GETDATE()) < 45)
           THEN tbl_invoices.pendingamount ELSE 0 END) AS lessthan45
FROM tbl_debit 
INNER JOIN tbl_invoices 
  ON tbl_debit.invoice = tbl_invoices.invoice  
WHERE (tbl_invoices.state = - 1)

关于sql - 如何在 SQL Server CE 中将两个 SQL SELECT 查询合并为一个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35242796/

相关文章:

mysql - Rails 的 update_all 方法将错误的时间保存到 MySQL DB 中

php - 在一个php中的不同数据库中插入和更新

mysql 使用相同数字的名称计数

php - 我怎样才能缩短这个 MySQL 查询?

Mysql - 合并 2 个 SQL 查询

sql - RDBMS 中基于表的关系和基于列的关系有什么区别?

mysql - 使用 MySQL 中的加密 blob 字段匹配一行中的所有关键字

performance - 在SQLite中获取每个组的最后10行的有效方法

php - 通过一个其他表中的字段从表中选择行

mysql - 在 MySQL 中搜索多个列以获取自动完成结果