Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-09-2009, 10:31   #1
holymind
Bannato
 
Iscritto dal: Aug 2004
Messaggi: 180
[SQL] Trasporre Tabella in Oracle

Ciao a tutti.
Ho l'esigenza di trasporre una tabella in oracle, ossia passare da una tabella chiave valore ad una tabella normale.

Faccio l'esempio esplicativo.
Passare da una tabella di questo tipo

Id Chiave Valore
1 Nome Pinco
1 Cognome Pallino
1 Eta 15
1 Citta Milano
1 Nome Tizio
1 Cognome Rossi
1 Eta 30
1 Citta Roma


Alla tabella
Id Nome Cognome Eta Citta
1 Pinco Pallino 15 Milano
2 Tizio Rossi 30 Roma

Grazie in anticipo
holymind è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2009, 11:02   #2
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Se vuoi trasformare il primo tipo di tabella nel secondo ti crei tramite una create table una tabella con le colonne che vuoi e tramite un programmetto metti i dati della prima nella seconda, poi cancelli la prima tabella, un esempio del trasferimento dei dati in java

Codice:
public static void daAaB(Connection conn) throws Exception{
	class Temp{
		Map<String,String> vals=new HashMap<String,String>();
	}
	Map<Integer,Temp> tmp=new HashMap<Integer,Temp>();
	Statement stat=conn.createStatement();
	ResultSet rs=stat.executeQuery("select * from A");
	while (rs.next()){
		int id=rs.getInt("ID");
		Temp info=tmp.get(id);
		if (info==null){ 
			info=new Temp();
			tmp.put(id,info);
		}
		temp.vals.put(rs.getString("Chiave"),rs.getString("Valore"));
	}
	rs.close();
	Set<Integer> keySet=tmp.keySet();
	for (Integer id:keySet){
		Temp vals=tmp.get(id);
		String metas="";
		String values="";
		Set<String> inks=vals.vals.keySet();
		for (String chiave:inks){
			metas+=chiave+",";
			values+="\'+vals.vals.get(chiave)+"\',";
		}
		metas="ID,"+metas.subset(0,metas.length()-1);
		values=String.valueOf(id)+","+values.subset(0,values.length()-1);
		st.executeUpdate("insert into B("+metas+") values ("+values+")");
	}
	st.close();
}
è codice scritto in quattro e quattr'otto, di sicuro non il più efficiente e non sono al 100% sicuro sulla correttezza
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2009, 22:38   #3
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Io proverei cosi'

Codice:
CREATE TABLE result AS
SELECT ID,
    (SELECT Valore FROM src WHERE src.ID=out.ID AND src.Chiave='Nome') as Nome,
    (SELECT Valore FROM src WHERE src.ID=out.ID AND src.Chiave='Cognome') as Cognome,
    (SELECT Valore FROM src WHERE src.ID=out.ID AND src.Chiave='Eta') as Eta,
    (SELECT Valore FROM src WHERE src.ID=out.ID AND src.Chiave='Citta') as Citta
FROM
    (SELECT DISTINCT ID FROM src) out;
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Tesla Semi arriva in Europa: fino a 500 ...
realme 16 Pro Harry Potter Edition &egra...
Siri potrebbe permettere di scegliere tr...
OpenAI acquisisce Glass Imaging per oltr...
Steam Deck 2: Valve non trova ancora il ...
Il CEO di Microsoft chiede una supervisi...
Dreame T15 Pro Heat, aspira la polvere e...
Apple rilascia iOS 27, iPadOS 27 e macOS...
DDRop, l'attacco hardware da meno di 200...
LG OLED G6 55'' a 1.368€ e LG NANO 98'' ...
OpenRGB 1.0 arriva dopo tre anni: una so...
OpenAI paga centinaia di revisori per le...
Opel scarica l'adrenalina elettrica al S...
Volkswagen Mission Efficiency: Cd di 0,1...
Dreame L10s Pro Gen 3 a 179€: ottimo pre...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v