Questione : Avere bisogno di una soluzione per la somma all'interno di una somma

Ciao gli esperti, il

I hanno una domanda che deve ottenere la somma o una somma.  Lo SQL non sembra gradire fare quello.  È ci un certo senso intelligente che posso riscrivere questo in modo da non ottengo la malvagità:  

Can non effettuare una funzione aggregata su un'espressione che contiene un complesso o un subquery.

Thanks,
Moe
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
>SUM notpretty " del class= " del id= " codeSnippet852640 del
           
class= del

Risposta : Avere bisogno di una soluzione per la somma all'interno di una somma

Potete provare questo:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
SELEZIONANO [anno], [mese], posizione, [prenotazioni totali], [reddito in USD], [reddito in]/Leg_sum dei USD come “Rev/ricerca„
DA (
SELEZIONARE b.Year, 
DateName (millimetro, DATEADD (millimetro, b.Month, -1)) come “mese„, 
a.Loc, 
SOMMA (ISNULL (CASO QUANDO A. [tipo] = “NUOVO„ E A.Leg = 1 ALLORA 1 ALTRIMENTI 0 ESTREMITÀ, 0)) - SOMMA (ISNULL (CASO QUANDO il A. [tipo] = “PUÒ„ E a.Leg = 1 ALLORA 1 ALTRIMENTI 0 ESTREMITÀ, 0)) COME “prenotazioni totali„,
SOMMA (ISNULL (CASO QUANDO il A. [tipo] = “NUOVO„ ALLORA (a.Revenue * e.To_USD_Rate) SI CONCLUDE, 0)) - SOMMA (ISNULL (CASO QUANDO il A. [tipo] = “PUÒ„ ALLORA (a.Revenue * e.To_USD_Rate) SI CONCLUDE, 0)) COME “reddito in USD„,
SOMMA (a.Leg) COME Leg_sum
Dalle prenotazioni a
ESTERNI DI SINISTRA UNISCONO il calendario b su b.Date_ID = a.Arrival_Date
ESTERNI DI SINISTRA UNISCONO Exchange_Rates e su e.Currency = a.Currency
DOVE a.Loc = “RYH„
E b.Month DENTRO (MESE (b.Year), MESE (b.Year) +1, MESE (b.Year) +2)
E b.Year DENTRO (anno (GETDATE ()), Anno (GETDATE ())- 1)
GRUPPO da b.year, DateName (millimetro, DATEADD (millimetro, b.Month, -1)), temp di a.Loc)
Ordine VICINO [anno], [mese]
Altre soluzioni  
 
programming4us programming4us