Como combinar a saída de duas querys no MYSQL quando elas têm condições não compatíveis


4

Estou procurando alguma ajuda para somar a saída das duas consultas a seguir. Eles têm duas condições incompatíveis, então estou lutando para combiná-las na única consulta.

Receita Total no Ano até a Data

Como combinar a saída de ambas as consultas?

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

E

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 

Respostas:


0

Você pode tentar usar as duas consultas na cláusula select de uma terceira consulta em que a tabela da qual você está selecionando é DUAL. Isso permite que uma linha seja retornada com os resultados das duas consultas.

Exemplo:

Inquerir:

SELECIONAR
(SELECIONAR 
soma (datediff (returndate, dueDate) * (products.rentalfee * 0.2)) 
FROM produtos INNER JOIN orderdetails
ON products.productID = orderdetails.productID
ONDE returndate> duedate) AS 'taxas atrasadas YTD'
, (SELECIONAR 
soma (products.RentalFee * orderdetails.quantity)
FROM produtos INNER JOIN orderdetails
ON products.productID = orderdetails.productID
WHERE returndate> duedate OU duedate = returndate) AS 'Receita Total YTD'

FROM DUAL;

Resultado:

+ --------------- + ------------------- +
| Taxas atrasadas no acumulado do ano | Receita Total YTD |
+ --------------- + ------------------- +
| 3 | 4 |
+ --------------- + ------------------- +
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.