3 messaggi dal 22 settembre 2008
CIao a tutti. Sono alle prese con il quesito dei quesiti :)
Poniamo il caso di avere una tabella con 3 colonne:
A B C
io 10 0
tu 20 0
lui 30 0
noi 40 0
voi 50 0

quindi faccio SELECT A,B,C FROM NOMETABELLA;
il problema è che vorrei trovare una formula che per esempio mi SELEZIONI pure il campo C MA SE E SOLO SE vi sia una riga con il valore C diverso da 0, altrimenti non me lo seleziona.
Sapete come fare?
grazie mille!
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
ziopippo wrote:
CIao a tutti. Sono alle prese con il quesito dei quesiti  Poniamo il caso di avere una tabella con 3 colonne:
A B C
io 10 0
tu 20 0
lui 30 0
noi 40 0
voi 50 0

quindi faccio SELECT A,B,C FROM NOMETABELLA;
il problema è che vorrei trovare una formula che per esempio mi SELEZIONI pure il campo C MA SE E SOLO SE vi sia una riga con il valore C diverso da 0, altrimenti non me lo seleziona.
Sapete come fare?
grazie mille!

non e' possibile.. un set di dati deve giocoforza essere omogeneo nella struttura, e' intrinseco nella definizione in quanto il risultato e' a sua volta "una tabella", o meglio un working set.. quindi non puoi per una riga proiettare 2 colonne (o costanti o altro) e per un'altra riga proiettarne 3.. il risultato deve avere una struttura "identica" per tutte le righe.. saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
22 messaggi dal 03 settembre 2008
Ferma restando la correttezza di quanto detto da Andrea Montanari, puoi provare ad aggirare il problema così:

SELECT A,B,CASE (C) WHEN 0 THEN ' ' ELSE C END AS CampoC FROM Tabella

In questo modo se il campo C è uguale a zero, otterrai una stringa vuota invece del valore 0 di C.
Modificato da djfdx il 22 settembre 2008 17.24 -
3 messaggi dal 22 settembre 2008
ringrazio di cuore chi ha risposto,
grazie mille!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.