次の 2 つのクエリの出力を合計するのに支援を求めています。 2 つの条件は互換性がないため、1 つのクエリで組み合わせるのに苦労しています。
今年累計総収益
両方のクエリの出力を結合するにはどうすればよいですか?
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
選択元のテーブルが DUAL である 3 番目のクエリの SELECT 句で、両方のクエリを使用してみることもできます。これにより、両方のクエリの結果を含む 1 つの行が返されます。
例:
クエリ:
選択する (選択する sum(datediff(返却日、期日)*(products.rentalfee*0.2)) FROM products INNER JOIN orderdetails ON products.productID = orderdetails.productID WHERE returndate > duedate) AS '延滞料金 YTD' 、(選択する sum(products.レンタル料金*注文詳細.数量) FROM products INNER JOIN orderdetails ON products.productID = orderdetails.productID WHERE returndate > duedate OR duedate = returndate) AS 'Total Revenue YTD'
デュアルから;
結果:
+---------------+-------------------+ | 年累計延滞料金 | 年累計総収益 | +---------------+-------------------+ | 3 | 4 | +---------------+-------------------+