Oracle Pivot requête donne des colonnes avec des guillemets autour des noms de colonne. Quoi?

Je suis en train d'utiliser PIVOT dans Oracle et je me fais un drôle de résultat. C'est probablement juste une option que je dois mettre, mais ce que je sais sur Oracle/SQL j'ai pu mettre dans cette boîte de commentaire.

Voici un exemple de ma requête:

with testdata as
(
    select 'Fred' First_Name, 10 Items from dual
    union
    select 'John' First_Name, 5  Items from dual
    union 
    select 'Jane' First_Name, 12 Items from dual
    union
    select 'Fred' First_Name, 15 Items from dual
)

select * from testdata
pivot (
    sum(Items)
    for First_Name
    in ('Fred','John','Jane')

Les résultats que j'attendais l'exception de la Colonne les noms ont des guillemets simples autour d'eux (image de Crapaud - si je l'exportation vers Excel de la cite se laisser Excel):

Oracle Pivot requête donne des colonnes avec des guillemets autour des noms de colonne. Quoi?

Comment puis-je me débarrasser des guillemets simples autour de la colonne des noms? J'ai essayé de les prendre dans le "in" de la clause et j'obtiens une erreur:

in (Fred,John,Jane)

Oracle Pivot requête donne des colonnes avec des guillemets autour des noms de colonne. Quoi?

J'ai aussi essayé de remplacer les guillemets simples avec des guillemets, et obtenu la même erreur. Je ne sais pas si c'est un Oracle option j'ai besoin de définir/annuler avant d'exécuter ma requête ou un Crapaud chose.

Peut-être un Crapaud plutôt qu'à SQL.
Vous pouvez fournir des alias de colonne à l'intérieur de votre IN- voir le oracle docs
Mon Duh. J'ai été lire l'Oracle de Pivot docs pour deux jours et j'ai raté ça. Merci @bluefeet...

OriginalL'auteur Richard Schaefer | 2014-02-28

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *