Announcement

Collapse
No announcement yet.

Pivot ohne Agregatfunktion möglich?

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

  • Pivot ohne Agregatfunktion möglich?

    hallo,
    geht es nicht eine Pivot-Abfrage zu machen ohne eine Agregatsfunktion zu verwenden?

    Ich würde gerne eine Rechtestruktur darstellen:

    Code:
                        Mitarbeiter1 Mitarbeiter2
    Skriptname1  lesen            schreiben
    Skriptname2  schreiben     schreiben

  • #2
    Hallo openshinok,

    wieso stören Dich Aggregatfunktionen, die sind mit unter nützlich?
    [highlight=SQL]SET NOCOUNT ON

    CREATE TABLE #Rechte
    (script varchar(5), Mitarb varchar(5), Recht varchar(5));

    INSERT INTO #Rechte VALUES ('Scr 1', 'Mit 1', 'Read');
    INSERT INTO #Rechte VALUES ('Scr 2', 'Mit 1', 'Write');
    INSERT INTO #Rechte VALUES ('Scr 1', 'Mit 2', 'Write');
    INSERT INTO #Rechte VALUES ('Scr 2', 'Mit 2', 'Write');
    GO

    SELECT script, [Mit 1], [Mit 2]
    FROM (SELECT script, Mitarb, Recht
    FROM #Rechte
    GROUP BY script, Mitarb, Recht
    ) AS Source
    PIVOT (MAX(Recht)
    FOR Mitarb IN ([Mit 1], [Mit 2])
    ) AS PVT
    ORDER BY script;
    GO
    DROP TABLE #Rechte[/highlight]
    [highlight=code]script Mit 1 Mit 2
    ------ ----- -----
    Scr 1 Read Write
    Scr 2 Write Write[/highlight]
    Einfach auf alle Felder gruppieren und dann einfach Min oder Max verwenden; durch die Gruppierung über alles bekommst Du nur einzelne Ergebnisse und das Aggregat kann auch das liefern.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo,
      riesen Dankeschön, hat beim Umschreiben sofort geklappt!


      Group by benötige ich nicht da ich nichts mehrfaches in der Tabelle habe.

      Auf das Max bin ich leider nicht von selbst gekommen.

      Comment


      • #4
        Group by benötige ich nicht
        Stimmt, geht auch ohne ... siehst, habe ich auch wieder was zugelernt
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment

        Working...
        X