0

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

0

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.

0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.