Estou procurando 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 em uma consulta.
Receita total acumulada no ano
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
Responder1
Você pode tentar usar ambas as consultas na cláusula select de uma terceira consulta em que a tabela que você está selecionando é DUAL. Isso permite que uma linha seja retornada com os resultados de ambas as consultas.
Exemplo:
Consulta:
SELECIONAR (SELECIONE soma(datadoiff(datade retorno, datade vencimento)*(produtos.taxadealuguel*0,2)) FROM produtos INNER JOIN detalhes do pedido EM produtos.productID = detalhes do pedido.productID ONDE data de retorno > data de vencimento) AS 'Taxas de atraso acumuladas no ano' ,(SELECIONE soma (produtos. Taxa de aluguel * detalhes do pedido. quantidade) FROM produtos INNER JOIN detalhes do pedido EM produtos.productID = detalhes do pedido.productID WHERE data de retorno > data de vencimento OU data de vencimento = data de retorno) AS 'Receita total acumulada no ano'
DE DUPLO;
Resultado:
+---------------+----------------------+ | Taxas atrasadas acumuladas no ano | Receita total acumulada no ano | +---------------+----------------------+ | 3 | 4 | +---------------+----------------------+