如何在 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)
我有两个 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)