Ciclo For

martedì 15 dicembre 2009 - 16.26

aemme Profilo | Junior Member

Vorrei inserire un ciclo for in una select in modo che un field abbia tutti i valori che ha per un determinato altro field.

Cioè, se per value1 = 'A' value 2 è uguale ad '1', '2','3','4'

vorrei che value 2 della select diventi uguale a '1,2,3,4'

si può fare?

Grazie

alx_81 Profilo | Guru

>Cioè, se per value1 = 'A' value 2 è uguale ad '1', '2','3','4'
>vorrei che value 2 della select diventi uguale a '1,2,3,4'
>si può fare?
Ciao,
a prescindere dal fatto che "cilco for" in sql NON DEVE ESISTERE, non ho capito quello che ti serve.
Intanto, che RDBMS utilizzi?
Potresti darmi un'idea della struttura della tabella di partenza e quello che vorresti ottenere come resultset finale?
Vuoi trasporre le righe in colonne? Scusami ma non capisco proprio..

>Grazie
di nulla!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

aemme Profilo | Junior Member

La select è questa:
SELECT PCMS_CHDOC_DATA.CH_UID, PCMS_CHDOC_DATA.CH_DOC_ID, PCMS_CHDOC_DATA.STATUS, PCMS_CHDOC_DATA.TOOL, PCMS_CHDOC_RELATED_ITEMS.FROM_CH_UID, PCMS_CHDOC_RELATED_ITEMS.TO_ITEM_UID, PCMS_ITEM_DATA.ITEM_UID, PCMS_ITEM_DATA.LIB_FILENAME, PCMS_ITEM_DATA.DESCRIPTION FROM PCMS_CHDOC_DATA LEFT JOIN PCMS_CHDOC_RELATED_ITEMS ON PCMS_CHDOC_DATA.CH_UID = PCMS_CHDOC_RELATED_ITEMS.FROM_CH_UID LEFT JOIN PCMS_ITEM_DATA ON PCMS_CHDOC_RELATED_ITEMS.TO_ITEM_UID = PCMS_ITEM_DATA.ITEM_UID WHERE PCMS_CHDOC_DATA.STATUS <> 'CLOSED' AND PCMS_CHDOC_DATA.TOOL = 'ICD' ORDER BY PCMS_CHDOC_DATA.CH_DOC_ID;

Dove per un PCMS_CHDOC_DATA.CH_DOC_ID posso avere diversi PCMS_ITEM_DATA.LIB_FILENAME e PCMS_ITEM_DATA.DESCRIPTION.

Grazie

alx_81 Profilo | Guru

>Dove per un PCMS_CHDOC_DATA.CH_DOC_ID posso avere diversi PCMS_ITEM_DATA.LIB_FILENAME
>e PCMS_ITEM_DATA.DESCRIPTION.
ok, ora per favore rispondi alle altre domande che ti ho fatto?
vuoi trasporre la colonna FILENAME da riga a colonna?
che RDBMS utilizzi?

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

aemme Profilo | Junior Member

Si in effetti vorrei che anzichè avere vari PCMS_ITEM_DATA.LIB_FILENAME distribuiti in varie righe vorrei avere una sola riga in cui ci siano tutti i valori delle varie righe.

Cioè se ho:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


La versione di Oracle che abbiamo è 10.2.0.2

Grazie

alx_81 Profilo | Guru

>La versione di Oracle che abbiamo è 10.2.0.2
non conoscendo il prodotto posso solamente consigliarti qualche link di alcuni che hanno avuto lo stesso problema:
http://oracle.ittoolbox.com/groups/technical-functional/oracle-sql-l/pivot-multiple-rows-into-1-row-with-columns-across-1156239
http://oracle.ittoolbox.com/groups/technical-functional/oracle-sql-l/pivot-multiple-rows-into-1-row-with-columns-across-1165315
http://it.toolbox.com/blogs/db2luw/pivot-query-12757

a quanto pare la versione 11g ha anche l'operatore PIVOT, simile a quello di SQL Server 2005.

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

aemme Profilo | Junior Member

Il secondo link che mi hai suggerito ottiene proprio quello che vorrei fare.

Solo che il code utilizzato è un po' troppo complesso, anche perchè io ho una select distribuita su diverse view.

??

Grazie Comunque.

p.s. se c'è un altro modo accolgo molto volentieri il consiglio

aemme Profilo | Junior Member

Non c'è un'altro modo?

scusate

alx_81 Profilo | Guru

>Non c'è un'altro modo?
purtroppo non posso aiutarti di più. Ma hai provato a seguire per bene la documentazione che ti ho indicato? Se segui per filo e per segno secondo me qualcosa lo ricavi..
se la select ti torna un resultset non credo che avrai problemi anche se lo statement è complesso..
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5