Announcement

Collapse
No announcement yet.

group by

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

  • group by

    Moin,

    ich habe eine Tabelle mit folgenden Spalten:
    [ID], [Ist-Arbeit Gesamt], [Jahr], [Monat], [Datum], [KW], [Jahr_Monat], Team], [Rolle], [Art des Vorgangs], [Vorgangsgruppe]
    Nun habe ich wie folgt die Summe aller Aufwände pro Team zu Jahr_Monat = '2011-06', Rolle = 'Konzeption&Support' und Vorgangsgruppe = 'Support' ermittelt:
    Code:
    SELECT SUM(T.[Ist-Arbeit Gesamt]) AS Aufwand_Support_Sup
          ,T.[Jahr_Monat]
          ,T.[Team]
      FROM Source01.dbo.Aufwaende_Report T
      where not T.Vorgangsgruppe is null
      AND T.[Jahr_Monat] = '2011-06'
      AND (T.Vorgangsgruppe = 'Support')
      AND T.Rolle = 'Konzeption&Support' 
      group by T.Jahr_Monat, T.Team
    Das Ergebnis sieht so aus:
    127.500000 2011-06 Team 1
    187.000000 2011-06 Team 2
    208.000000 2011-06 Team 3
    127.750000 2011-06 Team 4
    305.250000 2011-06 Team 5
    91.700000 2011-06 Team 6
    92.500000 2011-06 Team 7

    Nun möchte ich in der gleichen Abfrage eine zusätzliche Spalte für die Aufwände zur gleichen Vorgangsgruppe aber zur Rolle Entwicklung bekommen. Meine erste Idee war folgende (liefert aber kein Ergebnis):
    Code:
    SELECT SUM(T.[Ist-Arbeit Gesamt]) AS Aufwand_Support_Sup
    	  , SUM(se.[Ist-Arbeit Gesamt]) AS Aufwand_Support_Ent	
          ,T.[Jahr_Monat]
          ,T.[Team]
      FROM Source01.dbo.Aufwaende_Report T
      inner join Source01.dbo.Aufwaende_Report SE on se.ID = T.ID AND se.Rolle = 'Entwickler'
      where not T.Vorgangsgruppe is null
      AND T.[Jahr_Monat] = '2011-06'
      AND (T.Vorgangsgruppe = 'Support')
      AND T.Rolle = 'Konzeption&Support'
      group by T.Jahr_Monat, T.Team
    Ist meine Idee überhaupt umsetzbar? Stehe auf dem Schlauch und bin für Tipps dankbar!

    Gruß
    M.

  • #2
    erledigt

    Vielleicht geht es noch elegeanter/performanter, aber ich hab's erst mal so gelöst:

    Code:
    select Aufwand_Support_Sup, Aufwand_Support_Ent, S.Jahr_Monat, S.Team   from 
    (SELECT SUM(T.[Ist-Arbeit Gesamt]) AS Aufwand_Support_Sup
          ,T.[Jahr_Monat]
          ,T.[Team]
      FROM Source01.dbo.Aufwaende_Report T
      where not T.Vorgangsgruppe is null
      AND T.[Jahr_Monat] = '2011-06'
      AND (T.Vorgangsgruppe = 'Support')
      AND T.Rolle = 'Konzeption&Support' 
      group by T.Jahr_Monat, T.Team)S
      left join
    (
    SELECT SUM(T.[Ist-Arbeit Gesamt]) AS Aufwand_Support_Ent
          ,T.[Jahr_Monat]
          ,T.[Team]
      FROM Source01.dbo.Aufwaende_Report T
      where not T.Vorgangsgruppe is null
      AND T.[Jahr_Monat] = '2011-06'
      AND (T.Vorgangsgruppe = 'Support')
      AND T.Rolle = 'Entwickler' 
      group by T.Jahr_Monat, T.Team
      )E on S.Jahr_Monat = E.Jahr_Monat and s.Team = E.Team

    Comment

    Working...
    X