Funzione declare

lunedì 18 gennaio 2010 - 18.46

aemme Profilo | Junior Member

Ho una SELECT con un CASE in testa al codice.
CASE ROWNUMBER = 1 THEN .... ELSE .... END CASE CAMPO1, CAMPO2, CAMPO3 FROM (SELECT ...... FROM.... WHERE.... )

Vorrei dichiarare una variabile

come devo fare? Ho provato ad inserire DECLARE @Nome_variabile VArchar(100); ma non funziona

lbenaglia Profilo | Guru

>Ho una SELECT con un CASE in testa al codice.
>
>CASE ROWNUMBER = 1 THEN ....
>ELSE .... END CASE
>
>CAMPO1,
>CAMPO2, CAMPO3
>
>FROM
>
>(SELECT ......
>
>FROM....
>
>WHERE....
>
>)
>
>
>Vorrei dichiarare una variabile
>
>come devo fare? Ho provato ad inserire DECLARE @Nome_variabile
>VArchar(100); ma non funziona

Ciao Antonio,

Che DBMS utilizzi?
Puoi postare un esempio completo con la struttura delle tabelle (CREATE TABLE), alcune righe di prova (INSERT INTO) ed il result set finale che vorresti ottenere con quei dati?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

aemme Profilo | Junior Member

In effetti la SELECT che ho è 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;

Quello che vorrei ottenere che il campo LIB_FILENAME mi dia tutti i valori per uno stesso CH_DOC_ID sulla stessa riga, (Se per CH_DOC_ID = 1. LIB_FILENAME = 'a.txt', 'b.txt', 'c.txt' diventi CH_DOC_ID = 1 e LIB_FILENAME = 'a.txt, b.txt. c.txt')

Volevo provare ad inserire una varabile nel codice per vedere se per mezzo della funzione CASE e dell'utilizzo di una possibile funzione LOOP era possibile ottenere quanto mi aspetto.

La versione è essere la 10.2.0.2.0

Grazie
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5