PL SQL: Untermengen aggregieren

  • Hallo,

    ich stehe derzeit bei der folgenden Fragestellung komplett an ... ich habe folgende Liste gegeben:

    Code
    items      value
    a, b, c    1
    a, b       2
    a          3

    Die Aufgabe liegt jetzt darin, mittels (PL) SQL zu erkennen, dass a bzw. a, b ein subset von a, b, c sind und die Summe der values darzustellen, also:

    Code
    items      sum(value)
    a, b, c    6

    Hat jemand eine Idee dazu?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • du könntest die items gruppiert in einer zwischentabelle ablegen, zb:

    Code
    group_id    integer
    item          varchar
    value         integer

    wobei group_id und item den PK bilden (somit unique).

    die datensätze sähen dann so aus:

    Code
    group_id    item     value
    1               a          3
    2               a          2
    2               b          2
    3               a          1
    3               b          1
    3               c          1

    mit einem einfachen

    Code
    select sum(value) from supertabelle where item='a'

    wär dein problem gelöst.

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • wär dein problem gelöst.


    danke für den input, aber ... leider löst dies das Problem nicht wirklich ... denn die Anzeige von "a, b, c" darf nicht verloren gehen ... mein derzeitiger Status liegt bei der Idee, dass ich um einen self-join und eine PL/SQL Funktion nicht herumkomme.

    *** Make it idiot proof, and someone will build a better idiot. ***

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!