Ciao a tutti

Semplificate, ho queste due tabelle:

codice:
TABELLA acquisti (id, prezzo, data)
TABELLA acquisti_sconti (data, percentuale_sconto, descrizione)
in una data possono essere applicati anche più tipi di sconti cumulati, oppure nessuno.

Eseguo questa query:
codice:
SELECT 
id,
prezzo, 
IF( SUM(percentuale_sconto) IS NULL, 0, SUM(percentuale_sconto) ) as percentuale_sconto_totale, 
ROUND( prezzo * IF( SUM(percentuale_sconto) IS NULL, 0, SUM(percentuale_sconto) ) / 100 ) as sconto_applicato, 
prezzo - ROUND( prezzo * IF( SUM(percentuale_sconto) IS NULL, 0, SUM(percentuale_sconto) ) / 100 ) as prezzo_scontato 

FROM acquisti NATURAL LEFT JOIN acquisti_sconti 

GROUP BY id
Domanda: posso evitare di riscrivere tutta la pappardella cui sto attribuendo l'alias percentuale_sconto_totale nei due campi successivi?

Ho provato ad usare direttamente l'alias così
codice:
SELECT 
id,
prezzo, 
IF( SUM(percentuale_sconto) IS NULL, 0, SUM(percentuale_sconto) ) as percentuale_sconto_totale, 
ROUND( prezzo * percentuale_sconto_totale / 100 ) as sconto_applicato, 
prezzo - sconto_applicato as prezzo_scontato 

FROM acquisti NATURAL LEFT JOIN acquisti_sconti 

GROUP BY id
ma ottengo un #1054 - Unknown column 'percentuale_sconto_totale' in 'field list'.

Ho provato anche ad usare delle variabili

codice:
SET @miavariabile = 0;
SET @miavariabile2 = 0;

SELECT 
id,
prezzo, 
@miavariabile:=IF( SUM(percentuale_sconto) IS NULL, 0, SUM(percentuale_sconto) ) as percentuale_sconto_totale, 
@miavariabile2:=ROUND( prezzo * @miavariabile/ 100 ) as sconto_applicato, 
prezzo - @miavariabile2 as prezzo_scontato 

FROM acquisti NATURAL LEFT JOIN acquisti_sconti 

GROUP BY id
ma il valore delle variabili è sempre 0.

Suggerimenti?
Grazie