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

How to merge two SQL SELECTqueries into one query in SQL Server CE?

我有两个 SELECT 查询,return 大于 45 和小于 45。我需要将这 2 个查询合并为一个。如果可以,我该如何实现?

查询 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)

我尝试了以下查询,但 return 出错了。

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)