Question

I have a problem on this query, how do I use the result of the query contained in CostoUnitario field.

I see better explain, after: ... as CostoUnitario..

I should insert ,CostoUnitario* Quantita

How can I do?

CODE:

SELECT Capitolo.Descrizione,SottoCapitolo.Descrizione,
SottoCapitolo.Immagine,
SottoCapitolo.DescrizioneEstesa,
SottoCapitolo.Quantita,
ROUND(((SottoCapitolo.CostoUnitario)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeMargine)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeUtile)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeSpeseGenerali)),0)
 as CostoUnitario 
FROM Preventivo inner join Capitolo on Preventivo.IdPreventivo = Capitolo.IdPreventivo inner join SottoCapitolo on SottoCapitolo.IdCapitolo = Capitolo.IdCapitolo order by Capitolo.Descrizione

IMAGE:

enter image description here

Was it helpful?

Solution

You must repeat last operation and add * Quantita.

SELECT A, B, C, (A + B) AS AB, (A + B) * C AS ABC

SELECT Capitolo.Descrizione,SottoCapitolo.Descrizione,
SottoCapitolo.Immagine,
SottoCapitolo.DescrizioneEstesa,
SottoCapitolo.Quantita,
ROUND(((SottoCapitolo.CostoUnitario)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeMargine)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeUtile)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeSpeseGenerali)),0)
 as CostoUnitario,
ROUND(((SottoCapitolo.CostoUnitario)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeMargine)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeUtile)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeSpeseGenerali)),0) * SottoCapitolo.Quantita
FROM Preventivo inner join Capitolo on Preventivo.IdPreventivo = Capitolo.IdPreventivo inner join SottoCapitolo on SottoCapitolo.IdCapitolo = Capitolo.IdCapitolo order by Capitolo.Descrizione

You can avoid it by calculating this values in presentation layer.

OTHER TIPS

Another possible query, if you don't want to write the same line again would be:

select *, CostoUnitario * Quantita
FROM
(
    SELECT Capitolo.Descrizione as CapDescrizione,
        SottoCapitolo.Descrizione,  
        SottoCapitolo.Immagine,
        SottoCapitolo.DescrizioneEstesa,
        SottoCapitolo.Quantita,
        ROUND(((SottoCapitolo.CostoUnitario)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeMargine)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeUtile)+(((SottoCapitolo.CostoUnitario)/100)*PercentualeSpeseGenerali)),0)
         as CostoUnitario 
        FROM Preventivo 
        inner join Capitolo on Preventivo.IdPreventivo = Capitolo.IdPreventivo 
        inner join SottoCapitolo on SottoCapitolo.IdCapitolo = Capitolo.IdCapitolo 
) as Co
order by CapDescrizione
Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top