Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-07-2008, 13:09   #1
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
[SQL] migliorare il risultato di una query con molte join

ciao ragazzi, per un progetto che deve effettuare lo storico modifiche sul mio db ho la necessità di effettuare una Select enorme (in una stored procedure per migliorare le performance) su molteplici tabelle (molte delle quali referenziate tra di loro) attraverso una decina di left outher join.

il risultato sono tantissime righe... ovviamente la permutazione dei dati delle tabelle... il risultato devo metterlo in un xml (ma quello lo faccio chiaramente lato applicazione)

ad esempio se ho l'anagrafe e 3 residenze avrò 3 righe (1 nome x 3 residenze)

Codice:
nome1, cognome1, residenza1
nome1, cognome1, residenza2
nome1, cognome1, residenza3
e l'xml associato sarebbe


Codice:
<nome>nome1</nome>
<cognome>cognome1</cognome>
<residenze>
 <residenza>residenza1</residenza>
 <residenza>residenza2</residenza>
 <residenza>residenza3</residenza>
</residenze>
capite che però se ho gia due recapiti telefonici, le righe del db diventano da 3 a 6 (1 nome x 3 residenze x 2 recapiti)

Codice:
nome1, cognome1, residenza1, telefono1
nome1, cognome1, residenza2, telefono1
nome1, cognome1, residenza3, telefono1
nome1, cognome1, residenza1, telefono2
nome1, cognome1, residenza2, telefono2
nome1, cognome1, residenza3, telefono2
e per produrre l'xml associato gia è + complicato

Codice:
<nome>nome1</nome>
<cognome>cognome1</cognome>
<residenze>
 <residenza>residenza1</residenza>
 <residenza>residenza2</residenza>
 <residenza>residenza3</residenza>
</residenze>
<recapiti>
 <telefono>telefono1<telefono>
 <telefono>telefono1<telefono>
</recapiti>


Questi sono solo esempi di fantasia per far comprendere il problema....

dovendo fare join su una ventina di tabelle ognuna con un numero medio di 40 campi il numero di righe di output è davvero spropositato con moltissimi dati ripetuti o nulli e il problema diventa scorrere tutte le righe per costruire tutti i tag innestati (anche 4 o 5 generazioni di nodi).


La struttura dell'XML l'ho fatta e ho anche un insieme di classi per costruire i nodi (dando in input la sequenza di stringhe rappresentanti i campi della tabella associata) ma dovermi scorrere migliaia di tuple cercando di fare ordine (del tipo questo nome l'ho gia inserito, questo telefono appartiene a questo nome, questo nome e questo telefono l'ho gia inserito per questo nodo ecc...)


qualcuno ha esperienze in merito?


L'applicazione è una web application Java (non deve usare EJB) su IBM DB2 8.2 (tramite Jt400)
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85

Ultima modifica di TorpedoBlu : 03-07-2008 alle 13:12.
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 13:57   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Non puoi usare la DISTINCT nelle SELECT?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 14:42   #3
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Non puoi usare la DISTINCT nelle SELECT?
certo, ma la clausola distinct toglie le linee duplicate e questo gia lo faccio, mentre ogni linea da me rappresenta una composizione di valori diversi... magari diversi per una sola colonna su 500...

io vorrei cercare di capire se è possibile tirare fuori i valori gia organizzati senza riempire per forza tutta la matrice rappresentativa:

nome1 cognome 1 .. .. .. .. .. .. .. telefono 1
/ / telefono2

al posto di
nome1 cognome 1 .. .. .. .. .. .. .. telefono 1
nome1 cognome 1 .. .. .. .. .. .. .. telefono 2
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85

Ultima modifica di TorpedoBlu : 03-07-2008 alle 14:46.
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 16:02   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
scusa ogni tanto sparo qualche vaccata su argomenti che non conosco a sufficienza

Purtroppo il materia SQL sono nubbissimo (e il mio posto poco sopra lo dimostra) ergo non ti so aiutare nel problema in questione, ciao
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 17:42   #5
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
qualcuno mi suggerisce di usare result set tipizzati.. ma non so come si implementano in db2 e non trovo documentazione
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 03-07-2008, 18:38   #6
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da TorpedoBlu Guarda i messaggi
qualcuno mi suggerisce di usare result set tipizzati.. ma non so come si implementano in db2 e non trovo documentazione
Non c'entra niente DB2, e' al livello dell'output, dell'XML.
In pratica ti stanno proponendo di non fare nessuna JOIN.
E di avere una sezione del file XML per ciascuna tabella.
Mi sembra anche sensato, per un problema tipo "Estrarre lo storico dei dati del Database"
__________________
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
Old 04-07-2008, 09:28   #7
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
mi è stato consigliato di usare record tipizzati:

Codice:
nome1, cognome1, tipo:RESIDENZA, residenza1, tel:null
nome1, cognome1, tipo:RESIDENZA, residenza2, tel:null
nome1, cognome1, tipo:RESIDENZA, residenza3, tel:null
nome1, cognome1, tipo:TELEFONO, residenza:null, telefono1
nome1, cognome1, tipo:TELEFONO, residenza:null, telefono2
ma non capisco cosa intendono.. qualcuno ha esperienza in merito? ho cercato su google ma non trovo nulla...
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2008, 09:34   #8
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Tipo questo:

Codice:
<xml ....>
<Persone>
  <Persona>
    <ID>id1</ID>
    <nome>nome1</nome>
    <cognome>cognome1</cognome>
  </Persona>
  <Persona>
    <ID>id2</ID>
    <nome>nome2</nome>
    <cognome>cognome2</cognome>
  </Persona>
</Persone>
<Inidirizzi>
  <Indirizzo>
    <ID>id1</ID>
    <Via>via di sotto</Via>
  </Indirizzo>
  <Indirizzo>
    <ID>id1</ID>
    <Via>via di sopra</Via>
  </Indirizzo>
  <Indirizzo>
    <ID>id2</ID>
    <Via>via di lato</Via>
  </Indirizzo>
</Indirizzi>
</XML>
Ciascuna tabella ha il suo tipo di record, e viene memorizzata indipendentemente dalle altre.
__________________
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
Old 04-07-2008, 09:48   #9
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Tipo questo:

Codice:
<xml ....>
<Persone>
  <Persona>
    <ID>id1</ID>
    <nome>nome1</nome>
    <cognome>cognome1</cognome>
  </Persona>
  <Persona>
    <ID>id2</ID>
    <nome>nome2</nome>
    <cognome>cognome2</cognome>
  </Persona>
</Persone>
<Inidirizzi>
  <Indirizzo>
    <ID>id1</ID>
    <Via>via di sotto</Via>
  </Indirizzo>
  <Indirizzo>
    <ID>id1</ID>
    <Via>via di sopra</Via>
  </Indirizzo>
  <Indirizzo>
    <ID>id2</ID>
    <Via>via di lato</Via>
  </Indirizzo>
</Indirizzi>
</XML>
Ciascuna tabella ha il suo tipo di record, e viene memorizzata indipendentemente dalle altre.
grazie, questo però è quello che voglio fare.. come faccio a farlo con SQL? il mio problema di come gestire il risultato delle query rimane, il numero delle tuple prodotte.

Esistono queste semistrutture in sql? (qualcosa di simile alle strutture C e agli oggetti in java penso)
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2008, 09:50   #10
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da TorpedoBlu Guarda i messaggi
grazie, questo però è quello che voglio fare.. come faccio a farlo con SQL? il mio problema di come gestire il risultato delle query rimane, il numero delle tuple prodotte.

Esistono queste semistrutture in sql? (qualcosa di simile alle strutture C e agli oggetti in java penso)
Non ho capito.
QUESTO nella frase cos'e'?
Il tuo risultato o quello che ho postato io poco fa?

In entrambi i casi non serve scomodare alcuna "semistrittura" dell'SQL, che peraltro e' sempre specifica per ciascun motore.
Oracle ha la sua implementazione, etc.
Ma tanto non cambierebbe la complessita' del tuo problema.
Si risolve tutto facendo una (io dico tante) query, e poi con postprocess per realizzare l'XML
__________________
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.

Ultima modifica di gugoXX : 04-07-2008 alle 09:57.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2008, 11:32   #11
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Non ho capito.
QUESTO nella frase cos'e'?
Il tuo risultato o quello che ho postato io poco fa?

In entrambi i casi non serve scomodare alcuna "semistrittura" dell'SQL, che peraltro e' sempre specifica per ciascun motore.
Oracle ha la sua implementazione, etc.
Ma tanto non cambierebbe la complessita' del tuo problema.
Si risolve tutto facendo una (io dico tante) query, e poi con postprocess per realizzare l'XML
conosci la semantica per realizzare l'xml?
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2008, 11:51   #12
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Ci sono tanti modi di realizzare un XML, ma non lo farei sicuramente usando i linguaggi imperativi dei database come il TSQL o il PL/SQL se e' questo che stai chiedendo.
Dal database estrarrei i dati che mi servono, e con un linguaggio tipo C#, Python o altri realizzerei la presentazione XML.

Comunque la complessita' realizzativa sarebbe la stessa anche in TSQL o PL/SQL, se non che hai molti meno strumenti a disposizione e la la leggibilita' del codice che ne segue e' davvero ridotta.

Ma prima di tutto, prima di decidere come scrivere l'XML, devi veramente decidere COSA scrivere. Ovvero il formato del tuo file XML.
Quello che sto dicendo dall'inizio e' che il formato che vorresti ottenere nel primo post e' dispendioso per te e inutile per chi dovra' poi leggerlo.
__________________
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
Old 04-07-2008, 12:50   #13
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Ci sono tanti modi di realizzare un XML, ma non lo farei sicuramente usando i linguaggi imperativi dei database come il TSQL o il PL/SQL se e' questo che stai chiedendo.
Dal database estrarrei i dati che mi servono, e con un linguaggio tipo C#, Python o altri realizzerei la presentazione XML.

Comunque la complessita' realizzativa sarebbe la stessa anche in TSQL o PL/SQL, se non che hai molti meno strumenti a disposizione e la la leggibilita' del codice che ne segue e' davvero ridotta.

Ma prima di tutto, prima di decidere come scrivere l'XML, devi veramente decidere COSA scrivere. Ovvero il formato del tuo file XML.
Quello che sto dicendo dall'inizio e' che il formato che vorresti ottenere nel primo post e' dispendioso per te e inutile per chi dovra' poi leggerlo.
non lo leggerà nessuno, andrà ad essere processato in pagine web con xslt

il formato è fissato dal cliente
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2008, 13:02   #14
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da TorpedoBlu Guarda i messaggi
non lo leggerà nessuno, andrà ad essere processato in pagine web con xslt

il formato è fissato dal cliente

Quel formato e' una cosa che relazionalmente e' decisamente errata.
Se una persona avesse 3 indirizzi, 4 numeri telefonici, 3 conti bancari e 3 animali preferiti

invece che 3+4+3+3=13 "informazioni" quell XML avrebbe 3x4x3x3=108 record, con tutte le permutazioni possibili. A cosa serve?
__________________
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
Old 04-07-2008, 17:05   #15
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Quel formato e' una cosa che relazionalmente e' decisamente errata.
Se una persona avesse 3 indirizzi, 4 numeri telefonici, 3 conti bancari e 3 animali preferiti

invece che 3+4+3+3=13 "informazioni" quell XML avrebbe 3x4x3x3=108 record, con tutte le permutazioni possibili. A cosa serve?
infatti da quel numero di tuple impressionante io mi devo estrarre un xml come dici tu, è quello il problema.
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2008, 11:22   #16
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
alla fine mi è stato commissionato di concatenare tutti i campi delle query in stringhe, e delimitare le singole query con opportuni delimitatori..

in questo modo faccio varie store procedure singole che vengono richiamate da un'unica store procedure che concatena tutti i risultati fornendo alla fine un'unica stringa.

Non discuto sulla bontà della soluzione poichè non l'ho scelta io.

Ho un problema, se un solo campo è null la stringa che rappresenta il risultato della concatenazione è null!!!

come faccio a risolvere? (senza riempire la query di IF poichè i campi sono tantissimi)

esempio:

Codice:
CREATE PROCEDURE PROVA_ASSEGNI(IN parametro1 INTEGER, IN parametro2 VARCHAR(20), OUT TAG_ASSEGNI VARCHAR(20000))
LANGUAGE SQL

BEGIN 

	DECLARE ASSEGNI VARCHAR ( 20000 ) ;
	SET ASSEGNI = '';

	FOR 
		--- SELECT QUERY ASSOCIATA AL CICLO FOR ---
		ASSEGNI_ROW AS 	
			SELECT 	
				campo1|| '|' ||
				campo2|| '|' ||
				campo3 as ASSEGNO
			FROM 	tabella.ASSEGNI
			WHERE 	.... 
		
		--- OGNI TUPLA è CIRCONDATA DAL SUO TAG
		DO SET ASSEGNI=CONCAT(ASSEGNI, ('<Assegno>'||ASSEGNI_ROW.ASSEGNO||'</Assegno>'));	
	END FOR;
	
	-- RISULTATO DELLA SP ---
	SET TAG_ASSEGNI = ('<Assegni>'||ASSEGNI||'</Assegni>');

END

che mi da una stringa tipo :
<assegni><assegno>campo1|campo2|campo3</assegno><assegno>campo1|campo2|campo3</assegno></assegni>

ma se un solo campo è null... la stringa risultante è null....


evidentemente la concatenazione non posso farla direttamente nella select.....

come si fa a scorrere i campi della query iterativamente e controllare che non siano null?
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85

Ultima modifica di TorpedoBlu : 09-07-2008 alle 11:49.
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2008, 09:18   #17
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
certo che è proprio strano che non si possano scorrere le colonne
risultanti di una select...pensavo che finissero comunque in un array
(o qualcosa di simile) la cosa mi sorprende.... e mi sverva visto che
devo costruire una procedura ad hoc per ogni tabella.....
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2008, 09:39   #18
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Ciao,
senti ma prima di concatenare le stringhe risultanti dalla Select non si può andare a iterare il Result Set della query per gestire il caso in cui un campo stringa sia nullo?
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2008, 09:52   #19
TorpedoBlu
Senior Member
 
L'Avatar di TorpedoBlu
 
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Ciao,
senti ma prima di concatenare le stringhe risultanti dalla Select non si può andare a iterare il Result Set della query per gestire il caso in cui un campo stringa sia nullo?
è esattamente quello che vorrei fare e che sto chiedendo, se sai come si fa...
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85
TorpedoBlu è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2008, 10:01   #20
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
So farlo ma nel modo classico: ovvero lato applicativo, tramite query passate al DBMS del caso da codice sorgente, quindi con metodi di oggetti che tornano come risultato un oggetto ResultSet iterabile.

Da SQL via Stored Procedure (quindi, se non erro, da dentro il contesto del DBMS) no, non l'ho mai fatto.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Ultimo giorno di Black Friday: tado° e N...
La Germania si oppone al ban dei motori ...
Aggiornamento Airbus A320, a che punto s...
Ultimo giorno di Black Friday: portatili...
Splinter Cell Remake, svolta decisiva? D...
Ultimo giorno di Black Friday Amazon: su...
Ultimo giorno di Black Friday: le miglio...
Tre anni di ChatGPT: come l'AI ha cambia...
James Cameron: l'intelligenza artificial...
Assassin's Creed: la serie Netflix sar&a...
Black Friday agli sgoccioli: ultime ore ...
Simulato un microchip quantistico con ol...
v16 Piston animal submarine: il nuovo as...
AMD conferma (per errore?) il Ryzen 7 98...
OnlyFans, stangata sui creator: anche i ...
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:11.


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