Du bekommst also womöglich Probleme, wennneue Farben hinzukommen. Insoweit würde Ich dir zur Lösung von Dedlfix raten.
Tabelle:
+-------+------+-------------+
| PF | DS | DOKUMENT_ID |
+-------+------+-------------+
| Gelb | 3 | 1 |
| Gruen | 2 | 1 |
| Blau | 2 | 1 |
| Gelb | 4 | 1 |
| Gelb | 1 | 2 |
| Rot | 7 | 2 |
+-------+------+-------------+
(Die Farben sollten aber in einer weiteren Tabelle stehen. Ich nehme mal an, das weißt Du selbst.)
Abfrage:
select PF, sum(DS) as AZ from papers where DOKUMENT_ID=2 group by PF;
Ergebnis:
+------+------+
| PF | AZ |
+------+------+
| Gelb | 1 |
| Rot | 7 |
+------+------+
Abfrage:
select PF, sum(DS) as AZ from papers where DOKUMENT_ID=1 group by PF;
Ergebnis:
+-------+------+
| PF | AZ |
+-------+------+
| Blau | 2 |
| Gelb | 7 |
| Gruen | 2 |
+-------+------+
Abfrage:
select PF, sum(DS) as AZ from papers group by PF;
Ergebnis:
+-------+------+
| PF | AZ |
+-------+------+
| Blau | 2 |
| Gelb | 8 |
| Gruen | 2 |
| Rot | 7 |
+-------+------+
Weiterverarbeitung:
Wenn Du über die Ausgaben iterierts, dann sammle die Daten einfach in einem Array mit den Farben als Keys.