Question : Créer un rapport de pivot dans la version 10g SQL d'Oracle

Essai de créer un pivot de trois données à colonnes de question/table - période/langue/count_of
Using Oracle 10g
ne pas vouloir employer des rapports de cas car ce sera un calibre pour des beaucoup l'autre reports
11g a une fonction merveilleuse de pivot - mais nous faisons avoir également essayé 10g ainsi hors du there
de chance des curseurs de référence - ne disparaissent pas là ! Le
tellement voici un rapport modèle d'Oracle - « travaille presque " le
ma bible actuelle que cela m'a mené voici comme suit le rel= " nofollow " de » _blank » de target= de " http://technology.amis.nl/blog/300/pivoting-in-sql-using-the-10g-model-clause » de href= de > le blog/300/pivoting-in-sql-using-the-10g-model-clause
de http://technology.amis.nl/ qui m'a bien sur le
mais AM de route non capables voir la cause du problème que la question (ci-dessous) renvoie le zeros
ont tordu la dimension, la cloison et pas toujours aide du play
beaucoup d'appreciated
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
les myChecks " de " codeSnippet775954 d'id= " de
drop de class= purgent ;
créer les myChecks de table (
 Date de période
, Langue VARCHAR2 (20)
, NOMBRE de count_of)
compresse nologging ;

insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « Portugais brésilien », 8) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « Bulgare », 1) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « Chinois », 3) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « le danois », 1) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « Néerlandais », 4) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « anglais », 85) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « finlandais », 2) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « Français », 4) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « Allemand », 51) ;
insertion dans des valeurs de myChecks (to_date (20100702, « yyyymmdd "), « Grec », 3) ;
commettre ;

choisir * à partir des myChecks ;

/*
Vue facile de données de base
LANGUE COUNT_OF DE PÉRIODE
--------- -------------------- ----------
02-JUL-10 Portugais brésilien 8
02-JUL-10 Bulgare 1
02-JUL-10 Chinois 3
02-JUL-10 le danois 1
02-JUL-10 Néerlandais 4
02-JUL-10 l'anglais 85
02-JUL-10 2 finlandais
02-JUL-10 Français 4
02-JUL-10 Allemand 51
02-JUL-10 Grec 3
*


Question principale de pivot de/* *
choisir la période, Allemand, Français, Espagnols, hollandais
 , Italien, Suédois, Grec, Russe, Portugais,
Le danois, SimplifiedChinese, chinois
  des myChecks
  le modèle IGNORENT la référence simple unique de NAV
  rangées mises à jour de retour
  cloison par (période)
  dimension par (langue)
  mesures (0 count_of
     , 0 Chinois, les 0 danois, 0 Néerlandais, 0 Français 
     , 0 Allemands, 0 Grecs, 0 Italiens  
     , 0 Portugais, 0 Russes, 0 SimplifiedChinese 
     , 0 Espagnols, 0 Suédois)
  règles
  (
      Chinois [0] = count_of [1]
     , Le danois [0] = count_of [2]
     , Néerlandais [0] = count_of [3]
     , Français [0] = count_of [4]
     , Allemand [0] = count_of [5]
     , Grec [0] = count_of [6]
     , Italien [0] = count_of [7]
     , Portugais [0] = count_of [8]
     , Russe [0] = count_of [9]
     , SimplifiedChinese [0] = count_of [10]
     , Espagnol [0] = count_of [11]
     , Suédois [0] = count_of [12]
  )
  ordre par 1 desc ;
Résultats de/* ci-dessous   
CHINOIS PORTUGAIS RUSSE GREC SUÉDOIS ITALIEN HOLLANDAIS ESPAGNOL ALLEMAND-FRANÇAIS DU DANOIS SIMPLIFIEDCHINESE DE PÉRIODE
--------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------------- ----------
02-JUL-10 0 0 0 0 0 0 0 0 0 0 0 0
*

purge de myChecks de table de baisse ;
class= de

Réponse : Créer un rapport de pivot dans la version 10g SQL d'Oracle

Bonjour,
Tout d'abord, des félicitations, vous avez fourni un cas de test complet.

Il y a 2 points :
1)  « mesure (0 count_of » vous affectent à 0 au count_of ainsi pour desserrer la valeur
2) dans les règles ce qui est l'intérieur [] devrait être une valeur de langue (parce que la dimension par langue)

Tellement voici les modifications :

  mesures (count_of
     , 0 Chinois, les 0 danois, 0 Néerlandais, 0 Français
     , 0 Allemands, 0 Grecs, 0 Italiens
     , 0 Portugais, 0 Russes, 0 SimplifiedChinese
     , 0 Espagnols, 0 Suédois)
  règles
  (
      Chinois [« * »] = count_of [« Chinois »]
     , Le danois [« * »] = count_of [le « danois »]
     , Néerlandais [« * »] = count_of [« Néerlandais »]
     , Français [« * »] = count_of [« Français »]


Noter que j'ai remplacé 0 par « * » parce que ce n'est pas un nombre mais un nom de langue que vous assignez à la ligne qui cumule toutes les langues. Vous pouvez mettre celui que vous vouliez car vous ne l'avez pas dans le choisi, mais pas un nombre.

Je devine vous avez pensé que cela mettant en référence des rangées ont été faits avec des nombres. Ce n'est pas le cas, ils sont mis en référence par la dimension.

Respect,
Franck.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us