我有两个 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/