我需要帮助将以下两个查询的输出相加。它们有两个不兼容的条件,因此我很难将它们合并到一个查询中。
今年迄今总收入
如何合并两个查询的输出?
SELECT
sum(datediff(returndate, dueDate)*(products.rentalfee*0.2)) AS 'Late Fees YTD'
FROM products INNER JOIN orderdetails
ON products.productID = orderdetails.productID
WHERE returndate > duedate
和
SELECT
sum(products.RentalFee*orderdetails.quantity)
AS 'Total Revenue YTD'
FROM products INNER JOIN orderdetails
ON products.productID = orderdetails.productID
WHERE returndate > duedate OR duedate = returndate
答案1
您可以尝试在第三个查询的 select 子句中使用这两个查询,其中您要从中选择的表是 DUAL。这样可以返回一行,其中包含两个查询的结果。
例子:
询问:
选择 (选择 总和(datediff(返回日期,到期日期)*(产品。租赁费*0.2)) 从产品内部连接订单详情 ON 产品.产品ID = 订单详情.产品ID WHERE returndate > duedate) AS '年初至今的滞纳金' ,(选择 总和(产品.租赁费*订单详情.数量) 从产品内部连接订单详情 ON 产品.产品ID = 订单详情.产品ID WHERE returndate > duedate OR duedate = returndate) AS '年初至今总收入'
来自双重;
结果:
+---------------+-------------------+ | 年初至今的滞纳金 | 年初至今的总收入 | +---------------+-------------------+ | 3 | 4 | +---------------+-------------------+