my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Libro WP7
|
Libro HTML5
|
Corso on-site HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Lab
Media
Tutorials
Corsi
Libri
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
problema con campi formula in sql
in
Misc
>
SQL Server e MySQL
Ultimo messaggio
contiello
l'1 febbraio 2010 alle 14:28
57 messaggi
dal 02 luglio 2002
Salve,immaginate di avere la seguente tabella
Table_Alias
Nome as Varchar
campoA as float
campoB as float
campoC as float
immaginate di voler estrarre questi campi in una select e di avere come ultimo campo un campo calcolato che utilizzi la
seguente formula (a*b/c) dando al risultato della stessa il nome Koeff.
SELECT Nome,(campoA*campoB/campoC) as Koeff FROM Table_Alias
Fin qui tutto ok
Immaginate ora di aggiungere un 5° campo alla tabella chiamato "divisore" di tipo float
Nella mia select adesso vorrei aggiungere un altro campo calcolato chiamato Risultante così calcolato: (a*b/c) / divisore.
Se scrivo in questo modo la select
SELECT Nome,(campoA*campoB/campoC) as Koeff , (Koeff/divisore) as Risultante FROM Table_Alias
il motore database mi da il seguente errore "Il nome di colonna 'Koeff' non è valido."
Per farlo funzionare devo ripetere per intero la prima formula e poi applicare la divisione.
SELECT Nome,(campoA*campoB/campoC) as Koeff , ((campoA*campoB/campoC)/divisore) as Risultante FROM Table_Alias
Ora in questo caso la formula è banale e poco estesa ,ma immaginate di avere una formula iniziale (campoA*campoB/campoC) molto grande e di doverla ripetere per intero se vi serve per un altro calcolo nella select.
Questa diventa enorme e illegibile.
Non c'è un modo per usare un alias ,nel nostro caso "Koeff", già calcolato in precedenza??
Grazie
Rispondi
Quoting
Andrea Montanari
il 2 febbraio 2010 alle 00:44
1.506 messaggi
dal 27 luglio 2005
Contributi
www.asql.biz
salve,
no, non e' possibile, in quanto devi sapere che l'esplosione della proiezione (cioe' l'insieme della SELECT list) e' un'operazione atomica e non spezzata in ognuno dei suoi componenti.. non e' quindi leggibile da sinistra verso destra o viceversa, in modo da poter fare riferimento a "quello prima", ma tutte le colonne vengono in effetti generate nel medesimo contesto.. come gia' hai sperimentato, devi quindi ricorrere alla ridefinizione della colonna calcolata con le opportune modifiche e via dicendo..
saluti
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org
http://www.hotelsole.com - http://www.hotelsolericcione.de
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
Libri
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
E-commerce
OT
Commenti: blogs e notizie
Eventi
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.
In primo piano
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Rilasciato il bollettino MS11-100 per risolvere i problemi di attacchi DoS di ASP.NET
I più letti di oggi
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Le funzionalità di drag and drop di Silverlight 4.0
Mobile Web con ASP.NET: Web Forms e MVC nel palmo di una mano (Real Code Day 6)
.NET Campus: Creare applicazioni veloci e user-friendly con jQuery, Microsoft AJAX Library e ASP.NET
Introduzione a LINQ, LINQ to XML, Object e DataSet
Visualizzare un template per browser mobile tramite un custom control ASP.NET
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Media
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
Tutti i media
In evidenza
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Sviluppare applicazioni per Windows Phone: scopri come fare con il nostro nuovissimo libro!
Sviluppa le applicazioni del futuro oggi: impara con il nostro libro HTML5 Espresso!
Community Days 2012 - Milano
Visualizzare un template per browser mobile tramite un custom control ASP.NET
Windows 8 su ARM: avrà il desktop, Office e il connected standby
Rilasciato Entity Framework 4.3
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network