Fare caloli all'interno di query

giovedì 05 maggio 2011 - 17.20

nandonando Profilo | Senior Member

Ho una query :"select bla bla bla" e praticamente vorrei che automaticmanete mi si creasse un 'altro campo facendo un calcolo matematico tra 1 campo ad esmpio moltiplicato per 5 è possibile?
Vi scrivo la mia select:
SELECT TOP 100 PERCENT dbo.VW_QUERY_CENTRO_PAGINA.NOME, dbo.VW_QUERY_CENTRO_PAGINA.MEDIA_VOTI, dbo.VW_QUERY_CENTRO_PAGINA.ID,
COUNT(DISTINCT dbo.TB_VISITE.IP) AS Conta
FROM dbo.VW_QUERY_CENTRO_PAGINA LEFT OUTER JOIN
dbo.TB_VISITE ON dbo.VW_QUERY_CENTRO_PAGINA.ID = dbo.TB_VISITE.ID_LOCALE
WHERE (dbo.TB_VISITE.GIORNO > CONVERT(DATETIME, '2011-05-01 00:00:00', 102))
GROUP BY dbo.VW_QUERY_CENTRO_PAGINA.NOME, dbo.VW_QUERY_CENTRO_PAGINA.MEDIA_VOTI, dbo.VW_QUERY_CENTRO_PAGINA.ID
ORDER BY dbo.VW_QUERY_CENTRO_PAGINA.MEDIA_VOTI DESC


il campo da moltiplicare sarebbe "conta".
Grazie scusate
http://www.gustoroma.it

jenga Profilo | Newbie

basta che ai campi della select aggiungi il campo calcolato con un alias diverso:
SELECT <campi>,
COUNT(DISTINCT dbo.TB_VISITE.IP) * 5 AS CAMPO_CALCOLATO
FROM ecc...
--
Igor Brusetti
http://jenga.wordpress.com

nandonando Profilo | Senior Member

Ho fatto una cosa del genere:

COUNT(DISTINCT dbo.TB_VISITE.IP) * 100 / 156 * dbo.VW_QUERY_CENTRO_PAGINA.MEDIA_VOTI AS Popolarita
ora vorrei inserire un if e cioè se media voti è nullo moltiplica * 2.5 come posso farlo?
Grazie ancora

http://www.gustoroma.it

jenga Profilo | Newbie

Puoi farlo in diversi modi, il più comodo è sicuramente:
COUNT(DISTINCT dbo.TB_VISITE.IP) * 100 / 156 * ISNULL(dbo.VW_QUERY_CENTRO_PAGINA.MEDIA_VOTI, 2.5) as Popolarità

ISNULL verifica se il primo parametro è nullo, se lo è lo sostituisce col secondo.
--
Igor Brusetti
http://jenga.wordpress.com
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