CASE NIDIFICATI ?

lunedì 05 aprile 2004 - 16.25

baltica Profilo | Newbie

Ciao scusate ho bisogno di creare una view di un'altra view, chiamata "STAMPA_ACCETTATE_CONSULTAZIONE", da cui estrarre una colonna, che chiamo DESCRIPTION il cui valore dipende da due campi della vista appena citata.
Per essere precisi, chiamo DESCRIZIONE e DESCRIZIONE_1 i campi della prima view e DESCRIPTION il campo della vista che sto creando.Nel caso in cui in DESCRIZIONE compaia 'PRATICHE IN CONSULTAZIONE' in DESCRIPTION dovrà esserci il valore di DESCRIZIONE_1 (a meno che quest'ultimo non sia NULL nel qual caso sarò costretto a mettere il valore di DESCRIZIONE).In tutti gli altri casi divrò immettere il valore di DESCRIZIONE.
Ho provato con una view di questo tipo:

CREATE VIEW dbo.NORMALIZZA_STAMPA
AS
SELECT NUMERO_RICHIESTA, 'DESCRIPTION' =
CASE DESCRIZIONE
WHEN 'PRATICHE IN CONSULTAZIONE' THEN CASE DESCRIZIONE_1 WHEN NULL THEN DESCRIZIONE ELSE DESCRIZIONE_1 END
ELSE STAMPA_ACCETTATE_CONSULTAZIONE.DESCRIZIONE
END
FROM STAMPA_ACCETTATE_CONSULTAZIONE

ma i due case nidificati non sembrano avere il risultato sperato e il valore viene preso sempre da "DESCRIZIONE_1".
Qualcuno riesce a darmi una dritta ? Grazie

Brainkiller Profilo | Guru

Ciao,
mi sembra che nella sintassi della tua query ci sia qualcosa che non va, prova a prendere questa come esempio:

SELECT 'Price Category' =
CASE
WHEN price IS NULL THEN 'Not yet priced'
WHEN price < 10 THEN 'Very Reasonable Title'
WHEN price >= 10 and price < 20 THEN 'Coffee Table Title'
ELSE 'Expensive book!'
END,
CAST(title AS varchar(20)) AS 'Shortened Title'
FROM titles
ORDER BY price

Modifica la tua query lasciando solo un case. Vedi se funziona, poi ne metti un altro e vedi se funziona correttamente o meno.

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