Hirdetés

Keresés

Új hozzászólás Aktív témák

  • nyunyu

    félisten

    válasz nyunyu #4613 üzenetére

    Közben találtam egy másik megoldást, ami nem a JOINnál szűr, hanem CASE WHEN-ekkel pakolja külön oszlopokba az egyes tételeket:

    SELECT p.projectName 'Project Name',
    SUM(CASE WHEN pc.costCategory='Cost category1' THEN pc.cost ELSE 0 END) 'Cost category1',
    SUM(CASE WHEN pc.costCategory='Cost category2' THEN pc.cost ELSE 0 END) 'Cost category2',
    SUM(CASE WHEN pc.costCategory='Cost category3' THEN pc.cost ELSE 0 END) 'Cost category3',
    SUM(CASE WHEN pc.costCategory='Cost category4' THEN pc.cost ELSE 0 END) 'Cost category4'
    FROM Project p
    LEFT JOIN ProjectCost pc
    ON pc.projectID=p.projectID
    GROUP BY p.projectName
    ORDER BY p.projectName;

    De ez sem sokkal olvashatóbb :DDD

    Jut eszembe, hasonló példával szívatott a mostani főnököm 3 éve állásinterjún.
    Aztán nemsokkal később belebotlottam kolléga kódjába, ami 10 attribútum nevét és értékét feszíti ki egy termék sorra ugyanígy :))
    Azóta sem mertem átírni PIVOTra.

Új hozzászólás Aktív témák