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:
Come dovrebbe essere: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 invece aggiorna:codice:area totalSum A 157.0681 B 131.5789 C 384.6154
Cosa sbaglio?codice:area totalSum A 157.0681 B 157.0681 C 157.0681
Grazie

Rispondi quotando
