Tabellenabfrage mit Bezug auf unterschiedliche Datensätze

Aussie

Neuer Benutzer
Beiträge
2
Hallo Forum,
Ich habe ein Problem die richtige Abfrage zu erstellen. Habs ewig probiert bin aber zu keinem Ziel gelangt. Ich habe eine Tabelle ähnlich wie folgt:
ID UNIQUEJOBID JOBNR DESCR VALUE
1 1 12 MAT1 MEHL
2 1 12 QTY1 30
3 1 12 MAT1 MILCH
4 1 12 QTY2 20
5 2 25 MAT2 MEHL
6 2 25 QTY2 10
7 2 25 MAT1 MILCH
8 2 25 QTY1 40
9 3 25 MAT1 MEHL
10 3 25 QTY1 50
11 3 25 MAT2 MILCH
12 3 25 QTY2 30

MAT1 bezieht sich auf QTY1 und MAT2 bezieht sich auf QTY2.
Ich möchte nun die selben Mengen der Producte(Mehl;Milch) zusammenzählen.
Das Ergebnis sollte lauten: Mehl 90
Milch 80
FYI: Die Produkte sind sehr vielfältig und DESCR kann bis MAT15 und QTY15 pro JOBNR gehen (muss aber nicht)
Wäre super wenn jemand ne Lösung parat hätte.
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.582
Ich denke mal der Datensatz ID3 müsste MAT2 haben, sonst ergibt das keinen Sinn.

Code:
SELECT    Material,
        sum(Menge) AS Menge
FROM    (    SELECT    t1.UNIQUEJOBID,
                    t1.JOBNR,
                    t1.VALUE AS Material,
                    t2.VALUE AS Menge
            FROM    tabelle t1,
                    tabelle t2
            WHERE    t1.UNIQUEJOBID = t2.UNIQUEJOBID
            AND        t1.JOBNR = t2.JOBNR
            AND        t1.DESCR LIKE 'MAT%'
            AND        t2.DESCR LIKE 'QTY%'
            AND        replace(t1.DESCR,'MAT','') = replace(t2.DESCR,'QTY','')
        ) Unterabfrage
GROUP BY Material

Die Unterabfrage ermittelt eine Tabelle mit Material und Menge, daraus kannst du dann mit der äußeren Abfrage die Mengen ermitteln oder was auch immer.
 
Werbung:
Oben