Announcement

Collapse
No announcement yet.

SQL Abfrage zur Gruppeirung von Zeilenbereichen

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

  • SQL Abfrage zur Gruppeirung von Zeilenbereichen

    Hi Zusammen.

    Ich habe ein Problem mit der Gruppierung von Zeilen.

    ID | Quelle --> Ziel | Menge

    1 | A --> B | 100kg
    2 | A --> B | 100kg
    3 | A --> B | 200kg
    4 | A --> C | 50kg
    5 | A --> D | 150kg
    6 | A --> B | 200kg
    7 | A --> B | 50kg

    die ersten 3 Spalten sollen zusammen gefasst werden, dann 4 einzeln, 5 einzeln und dann wieder 6-7.

    Wie ist dies möglich? bei Gruppierungen fast er mir immer 1-3 mit 6-7 zusammen mir fällt keine möglichkeit ein?

    bitte um hilfe.

    lg ingo

  • #2
    Wenn ID das Kriterium ist, dann könntest du das mit einer Zusatzspalte lösen, über die du dann das GROUP BY machst. Hier das Beispiel gleich aufbereitet für eine Abfrage im ManagementStudio:

    Code:
    create table #tmp (
      id int,
      quelle  varchar(9),
      menge   int )
    
    insert into #tmp values(1 , 'A --> B', 100)
    insert into #tmp values(2 , 'A --> B', 100)
    insert into #tmp values(3 , 'A --> B', 200)
    insert into #tmp values(4 , 'A --> C', 50)
    insert into #tmp values(5 , 'A --> D', 150)
    insert into #tmp values(6 , 'A --> B', 200)
    insert into #tmp values(7 , 'A --> B', 50)
    
    select id, quelle, menge, (select MIN(t2.id) from #tmp t2 where
    t2.quelle = t1.quelle and not exists (select 1 from #tmp t3 where t3.id > t2.id
    and t3.id < t1.id and t3.quelle <> t2.quelle)) as hierGruppieren from #tmp t1
    
    drop table #tmp
    bye,
    Helmut

    [edit]: ganz vergessen - Beispiel ist für den SQL-Server, aber du hast das ja offen gelassen ...
    Zuletzt editiert von hwoess; 18.10.2010, 18:25. Reason: vergessen, datenbank anzugeben

    Comment

    Working...
    X