A. Nonym: "scheint" (Fortsetzung)

Beitrag lesen

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.