Announcement

Collapse
No announcement yet.

Verschachtelte Group by

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschachtelte Group by

    Hallo bin etwas verzweifelt aber vielleicht jemand hier die Lösung.

    Ich habe hier eine Oracle SQL Anweisung geschrieben:

    select buchkr, projektnr, kalauf, abs_nr, count (auftragnr) as anzahl_Auftraege from abschn2
    where mandnr = ::MANDNR
    --and buchkr = ::BUCHKR
    group by buchkr, projektnr, kalauf, abs_nr
    having count (auftragnr) > 1
    order by projektnr, buchkr desc, kalauf, abs_nr, anzahl_Auftraege

    Das bringt mir folgendes Ergebnis:

    projektnr buchkr kalauf abs_nr anzahl_Auftraege
    1801 ES200210 1 40 4
    1801 ES200210 1 41 4
    1801 ES200210 1 42 4
    1801 ES200210 1 44 4
    1801 ES200210 1 45 4
    1801 ES200210 1 46 4
    1801 ES200210 1 47 4
    1801 ES200210 5 40 4
    1801 ES202001 1 1 3
    1801 ES202001 1 3 3
    1801 ES202001 1 5 3
    1801 ES202001 5 5 3
    2 I06131 1 1 3
    2 I06131 1 2 3
    2 I06139 1 1 4
    2 I06139 1 2 4
    2 I06266 1 1 3
    2 I06342 1 1 4
    2 I06407 1 1 6

    Jetzt will ich aber dieses Ergebnis nochmal gruppieren nach abs_nr pro kalauf mit having by abs > 1

    Habe das hier probiert aber es funktioneirt nicht so wie ich es will

    select buchkr, projektnr, kalauf, count (abs_nr) as Abschnitte,
    (select buchkr, projektnr, kalauf, abs_nr, count (auftragnr) as anzahl_Auftraege from abschn2
    where mandnr = ::MANDNR
    --and buchkr = ::BUCHKR
    group by buchkr, projektnr, kalauf, abs_nr
    having count (auftragnr) > 1
    )
    from abschn2
    where mandnr = ::MANDNR
    group by buchkr, projektnr, kalauf
    having count (abs_nr) > 1
    order by projektnr, buchkr desc, kalauf, Abschnitte

  • #2
    Ohne das ich das genau angesehen habe

    select * from
    (
    dein select
    )
    having count (abs_nr) > 1
    group by buchkr, projektnr, kalauf

    oder versuche es mit einem WITH
    https://modern-sql.com/de/feature/with
    Christian

    Comment


    • #3
      Das
      Code:
      where mandnr = ::MANDNR
      im äusseren query muss weg, das gibts da nicht mehr

      Comment

      Working...
      X