Как объединить вывод двух запросов в MYSQL, если они имеют несовместимые условия

Как объединить вывод двух запросов в MYSQL, если они имеют несовместимые условия

Мне нужна помощь в сложении вывода двух следующих запросов. У них два несовместимых условия, поэтому я пытаюсь объединить их в одном запросе.

Общий доход с начала года по сегодняшний день

Как объединить результаты обоих запросов?

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. Это позволяет вернуть одну строку с результатами из обоих запросов.

Пример:

Запрос:

ВЫБИРАТЬ
(ВЫБИРАТЬ
сумма(дата_даты_выплаты(дата_возврата, дата_оплаты)*(товары.арендная_плата*0.2))
FROM продукты INNER JOIN заказдетали
ON products.productID = orderdetails.productID
ГДЕ returndate > duedate) КАК 'Плата за просрочку платежа с начала года'
,(ВЫБИРАТЬ
сумма(продукты.АренднаяСтоимость*деталиЗаказа.количество)
FROM продукты INNER JOIN заказдетали
ON products.productID = orderdetails.productID
ГДЕ returndate > duedate ИЛИ duedate = returndate) КАК «Общий доход с начала года»

ОТ ДВОЙНОГО;

Результат:

+--------------+-------------------+
| Штрафы за просрочку платежа с начала года | Общий доход с начала года |
+--------------+-------------------+
| 3 | 4 |
+--------------+-------------------+

Связанный контент