Announcement

Collapse
No announcement yet.

SQL Abfrage

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

  • SQL Abfrage

    Hallo zusammen

    Habe folgende Anfängerproblem. Mir stehen folgende Informationen zur Verfügung (Beispiel):

    Artikel /Lagerort / Menge
    Artikel A / Lagerort1 / 100
    Artikel A / Lagerort2 / 10
    Artikel B / Lagerort1 / 99
    Artikel B / Lagerort2 / 101
    Artikel B / Lagerort3 / 3

    Ich muss als Schlussrestultat pro Artikel eine einzige Zeile ausgeben (Beispiel):

    Artikel /Menge Lagerort1 / Menge Lagerort2 / Menge Lagerort3
    Artikel A / 100 / 10 / 0
    Artikel B / 99 / 101 / 3

    Gibt es eine Möglichkeit, dies in einem einzigen View zu erreichen?

    Für sämtliche Anregungen danke ich euch bereits an dieser Stelle recht herzlich!

    Stephan Desoleure

  • #2
    Gehen tut's schon, ist nur eine Frage des Aufwandes. Wenn ich mal davon ausgehe, dass die Lagerorte konstant sind (zB 3 wie in deinem Beispiel), dann könnte das so aussehen:
    Code:
    select
    Artikel + ' / ' +
    cast(sum(lager1) as varchar(20)) + ' / ' +
    cast(sum(Lager2) as varchar(20)) + ' / ' +
    cast(sum(Lager3) as varchar(20)) from (
      select artikel, menge as Lager1, 0 as Lager2, 0 as Lager3
      from tabelle where lagerort = 'Lagerort1'
        union
      select artikel, 0 as Lager1, menge as Lager2, 0 as Lager3
      from tabelle where lagerort = 'Lagerort2'
        union
      select artikel, 0 as Lager1, 0 as Lager2, menge as Lager3
      from tabelle where lagerort = 'Lagerort3'
    ) as tempTable group by artikel
    bye,
    Helmut

    Comment

    Working...
    X