2017-10-13 4 views
0

読書を計算するが、これは動作していない理由として、私は理由を見つけることができません。同様のスレッドによるMySQLのselect文の最大の合計

select sum(max(i.invoice_total)) as 'Sum of Largest Unpaid Invoice' 
from (select vendor_id, MAX(invoice_total) 
from vendors v join invoices i using (vendor_id) 
where i.payment_date is null 
group by v.vendor_id) as alias; 

が、これは最大の合計を計算すべきではありませんinvoice_total?最大値の前に合計を追加すると、「未知の列」エラーが表示されます。

+0

あなたはマックス(invoice_total)をエイリアスする必要があり、内側にクエリ。 –

+0

これを修正した(sum(max(variables)) – RH6

答えて

2

カラムに名前を付ける必要があります。 。 。私は明示的にそうするでしょう:

select sum(max_invoice_total) as `Sum of Largest Unpaid Invoice` 
from (select vendor_id, MAX(invoice_total) as max_invoice_total 
     from vendors v join 
      invoices i 
      using (vendor_id) 
     where i.payment_date is null 
     group by v.vendor_id 
    ) alias; 
+0

のような行はありません。ありがとうございます。 –

0

は、MAX(invoice_totalに)エイリアスを与えた後、外に選択することを使用this-を試してみてください。

select sum(max_invoice) as 'Sum of Largest Unpaid Invoice' 
from (select vendor_id, MAX(invoice_total) as max_invoice 
from vendors v join invoices i using (vendor_id) 
where i.payment_date is null 
group by v.vendor_id) as alias;