Problem mit GROUP BY in Verbindung mit UNION

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit GROUP BY in Verbindung mit UNION

    Hallo.
    Ich habe ein Problem folgenden Code zu erweitern:
    Code:
    (
    SELECT `orders_products`.`Artikelnummer` AS `orders_Artikelnummer` , SUM( `orders_products`.`QUANTITY` ) AS `order` 
    FROM `orders_products` 
    GROUP BY `orders_Artikelnummer` 
    )
    UNION (
    
    SELECT `Lieferung_products`.`Artikelnummer` AS `Lieferung_Artikelnummer` , SUM( `Lieferung_products`.`QUANTITY` ) AS `Lieferung` 
    FROM `Lieferung_products` 
    GROUP BY `Lieferung_Artikelnummer` 
    )
    ORDER BY `orders_Artikelnummer`
    Diese Abfrage liefert mir bei folgenden Tabellen:
    1. Tabelle: `orders_products`

    Artikelnummer | QUANTITY
    11 | 1
    15 | 1
    11 | 2

    2. Tabelle: Lieferung_products.
    Artikelnummer | QUANTITY
    11 | 1

    folgendes Ergebnis:
    orders_Artikelnummer | order
    11 | 3
    11 | 1
    15 | 1

    eigentlich möchte ich aber folgendes Ergebnis:
    orders_Artikelnummer | order
    11 | 2
    15 | 1

    d.h. ich müsste an die obige Abfrage noch ein GROUP BY anhängen, welches die Differenz bildet.

    Wie genau muss ich das machen? Ich komme zu keinem Ergebnis.

    Gruß
    hrttoz

  • #2
    so?
    Code:
    select artikelnummer,sum(summe)
      from (select artikelnummer,sum(quantity) as summe from orders_products group by artikelnummer
              union
            select artikelnummer,0-sum(quantity) as summe from lieferung_products group by artikelnummer) gesamt
      group by artikelnummer;
    was machen die vielen Gedanken in meinem Kopf ?

    Kommentar

    Lädt...
    X