Domanda

ho bisogno di una relazione, dovrebbe utilizzare una tabella pivot per esso.Report di gruppo per categorie .Non è bene per il caso d'uso quando l'istruzione perché ci sono molte categorie.u può pensare Database Northwind come campione e di Tutte le Categorie verrà mostrato come Colonne e Report mostrerà i clienti di preferenza fra le Categorie.Non so un'altra soluzione e visto esempi di come Stored Procedure in Internet per Sql Server.Sapete una Soluzione con l'eccezione del caso quando?

Grazie

È stato utile?

Soluzione

Una volta che si ottiene Oracle 11G c'è un built-in funzione PIVOT.Prima di questo, si sono limitati a utilizzare il CASO (o DECODIFICA) espressioni.Ho un articolo su come automatizzare facendo sul mio blog.

Altri suggerimenti

E 'doloroso fare riga / colonna swap in SQL. Ogni riga che si desidera trasformare in una colonna, si deve chiedere in modo esplicito. Quindi, se avete molte categorie, la query sarà molto lunga, e si metterà a cambiare ogni volta che si aggiungere / rimuovere / modificare una categoria (questo è probabilmente il metodo dei casi si sta menzionare). È possibile scrivere una stored procedure per generare che genererà quella query per voi (o in altro modo di costruire il set di risultati che si desidera), ma onestamente, in questo modo si trova la follia (e probabilmente le prestazioni abissale).

Prendere i dati come righe, come SQL vuole sicuramente dare, e quindi avere la vostra applicazione convertirlo in colonne. Che sarà molto più facile che costringere SQL a fare cose che non vuole fare.

È possibile utilizzare cartucce di dati Oracle ( http: //download.oracle.com/docs/cd/B19306_01/appdev.102/b14289/dciwhatis.htm ) per produrre tabelle pivot più efficiente rispetto a caso / se ma sappiate che non è roba facile, e io' ho trovato la documentazione piuttosto scarsa in alcuni punti.

Io uso strumenti di reporting per la produzione di rapporti, aiuta a mantenere viste e query pulito e senza formattazione. Di solito gli utenti chiedono Excel ed Excel è un ottimo strumento di reporting per sé. Excel ha molto modi per importare i dati, ma vi suggerisco di XML come input, perché è possibile aprirlo come una tabella normale di Excel.

  1. Utilizzare Excel per aprire il file XML con i dati di esempio
  2. Seleziona tabella e fare clic su "Inserisci Pivot"
  3. Aggiungi formattazione e salvare il file come modello

Excel ricorda percorso del file XML di dati e basta sostituire i dati per aggiornare report. Ci sono molti altri modi, io uso applicazioni JAVA sul server web per unire modello di Excel e l'uscita SQL. Questo codice è libero e open source, ma non aiuterà per gli sviluppatori non JAVA https://github.com/ jbaliuka / x4j-analitica Ci sono molti altri strumenti di reporting per la produzione di rapporti "professionali".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top