호환되지 않는 조건이 있는 경우 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

선택하는 테이블이 DUAL인 세 번째 쿼리의 select 절에서 두 쿼리를 모두 사용해 볼 수 있습니다. 이렇게 하면 두 쿼리의 결과와 함께 하나의 행이 반환될 수 있습니다.

예:

질문:

선택하다
(선택하다
sum(dateiff(반품 날짜, 마감일)*(products.rentalfee*0.2))
FROM 제품 INNER JOIN 주문 세부정보
ON 제품.제품ID = 주문상세정보.제품ID
WHERE 반납일 > 마감일) AS '연체료 YTD'
,(선택하다
합계(제품.임대료*주문 세부정보.수량)
FROM 제품 INNER JOIN 주문 세부정보
ON 제품.제품ID = 주문상세정보.제품ID
WHERE 반품 날짜 > 마감일 OR 마감일 = 반품 날짜) AS '총 수익 YTD'

듀얼에서;

결과:

+---------------+------+
| 연체료 YTD | 총 수익 YTD |
+---------------+------+
| 3 | 4 |
+---------------+------+

관련 정보