2013-12-02 2 views
0

У меня есть запрос, как это ::Как вычитать в группе запроса в сумме доступа

SELECT account.AccountNumber, account.NAME, Sum(agro.price * agro.qty) AS Expr1 
FROM ((account 
INNER JOIN data ON account.AccountNumber = data.acno) 
INNER JOIN agro ON agro.BillNo = data.BillNo) 
WHERE data.db='true' 
GROUP BY account.AccountNumber, account.NAME; 

Я хочу, чтобы вычесть другой выход GroupBy запроса, чтобы Сумма (agro.price * agro.qty) это другая группа по запросу SELECT Sum (rs), acno FROM jma group by acno; я хочу вычесть Sum (agro.price * agro.qty) -сумма (RS), как его работа, пожалуйста, помогите мне решить эту проблему

+0

Довольно уверен, что вы не можете добавить или вычесть из суммированных данных. Вам нужно попасть на рекордный уровень - что конкретно вы пытаетесь достичь? –

ответ

0

Если я правильно вас понять следующий запрос может работать для вас:

SELECT subQ.AccountNumber, subQ.NAME, (subQ.subSum - jmaSum.jSum) AS FinalSum 
FROM 
(
    SELECT a.AccountNumber, a.NAME, Sum(ag.price * ag.qty) AS subSum 
    FROM (account AS a 
    INNER JOIN data AS d ON a.AccountNumber = d.acno) 
    INNER JOIN agro AS ag ON ag.BillNo = d.BillNo 
    WHERE d.db = 'true' 
    GROUP BY a.AccountNumber, a.NAME 
) AS subQ 
LEFT JOIN 
(
    SELECT Sum(j.rs) AS jSum, j.acno 
    FROM jma AS j 
    GROUP BY j.acno 
) AS jmaSum ON subQ.AccountNumber = jmaSum.acno 
Смежные вопросы