Ciao a tutti.

Non riesco ad aggiornare correttamente una tabella tramite una query UPDATE che richiama una query SELECT.

Tutti i records della tabella vengono aggiornati da un valore, cioè quello del primo calcolo.

Ecco la query:
codice:
UPDATE tbl_payoff t
JOIN 
(

SELECT a1.area, (sum1/sum2)*15000 `totalSum`
FROM ( 
      SELECT area,
             COUNT(*) `sum1`
      FROM tbl_sales
      WHERE (YEAR(date_of_sale)='2012')
      GROUP BY area
   )a1
JOIN 
   ( 
        SELECT area,
               SUM( Ordinary_Work_hours + Extra_Work_hours ) `sum2`
        FROM tbl_sellers
        WHERE current_year = '2012'
        GROUP BY area
) a2
ON a1.area = a2.area
) q

SET payoff = (q.totalSum)
WHERE 1;
Come dovrebbe essere:
codice:
area	totalSum
A	157.0681
B	131.5789
C	384.6154
Come invece aggiorna:
codice:
area	totalSum
A	157.0681
B	157.0681
C	157.0681
Cosa sbaglio?
Grazie