Passa ai contenuti principali

Post

Visualizzazione dei post da ottobre, 2016

SQL Pivot e Unpivot

PIVOT e UNPIVOT SQL (Le tabelle ed il codice è preso da un articolo di HTML.it ) Spesso serve avere delle tabelle o viste costruite dinamicamente: le colonne che si vogliono rappresentate sono definite mediante i valori di una specifica tabella. Con SQL Server 2005 e con Oracle 11g si hanno a disposizione questi due nuovi operatori: PIVOT e UNPIVOT. Una tabella utile al nostro scopo potrebbe essere: Qui il codice per crearla: CREATE TABLE Vendite( ID INT NOT NULL, Anno INT NOT NULL, Venditore VARCHAR(50) NOT NULL, Ammontare FLOAT NOT NULL ) ALTER TABLE Vendite ADD ( CONSTRAINT dept_pk PRIMARY KEY (ID)); CREATE SEQUENCE dept_seq START WITH 1; CREATE OR REPLACE TRIGGER dept_bir BEFORE INSERT ON Vendite FOR EACH ROW BEGIN SELECT dept_seq.NEXTVAL INTO :new.id FROM dual; END; Si ipotizzi di avere questi dati racconti in tabella: ID Anno Venditore Ammontare 1 2009 Marco 143,3 2 2009 Andrea 129 3 2009 Carlo 90,5 4