sql >> Databáze >  >> RDS >> Sqlserver

Pivot pomocí SQL Server 2000

Uvědomuji si, že je to dva roky staré, ale vadí mi, že přijatá odpověď vyžaduje použití dynamického SQL a odpověď s nejvyšším hlasem nebude fungovat:

Select P.ProductId, P.Name
    , Min( Case When PM.MetaKey = 'A' Then PM.MetaValue End ) As A
    , Min( Case When PM.MetaKey = 'B' Then PM.MetaValue End ) As B
    , Min( Case When PM.MetaKey = 'C' Then PM.MetaValue End ) As C
From Products As P
        Join ProductMeta As PM
            On PM.ProductId = P.ProductId
Group By P.ProductId, P.Name

Musíte použijte Seskupit nebo získáte rozložený výsledek. Pokud používáte Seskupit podle, musíte každý sloupec, který není v klauzuli Seskupit podle, zabalit do agregační funkce (nebo poddotazu).



  1. Pochopení nasazení Amazon Auroras Multi-AZ

  2. Funkce TRIM() v Oracle

  3. GWFG v Oracle RAC

  4. Rails:Instalace PG drahokamu na OS X – neúspěšné sestavení nativního rozšíření