0
我不是那麼到SQL和我工作的這個查詢一個Microsoft SQL Server如何將此查詢的獲得值與SQL中另一個查詢的輸出值相乘?
SELECT
tr.PolizzaID AS NumeroPolizza,
pfr.FondoID AS CodiceFondo,
'2016-09-30' AS dataRiferimentoPrezzo,
SUM(isnull(pre.impPre,0)+isnull(riv.impRiv,0)) AS quote,
SUM(isnull(pre.impPre,0)+isnull(riv.impRiv,0)) AS Controvalore
FROM
TR_PrestazioneTotale tr WITH(nolock)
............................................................
............................................................
DO SOME JOIN OPERATIONS
............................................................
............................................................
WHERE
tr.PolizzaID = 1234567890
GROUP BY
tr.PolizzaID,
pfr.FondoID
HAVING
SUM(ISNULL(pre.impPre, 0) + ISNULL(riv.impRiv, 0)) <> 0
該查詢返回總是一個單值上。
正如你可以看到選擇的先前查詢的一列是這一個:
SUM(ISNULL(pre.impPre, 0) + ISNULL(riv.impRiv, 0)) AS Controvalore
這是一個數值(像550058.8400)。
我的問題是,我要乘這個
SUM(ISNULL(pre.impPre, 0) + ISNULL(riv.impRiv, 0))
值這個其他查詢的輸出:
select Aliquota
from TirAliquotaRamoI
where DataElaborazione = '2016-09-30 00:00:00'
而且該查詢返回總是一個單個值。
因此,基本上,在第一查詢的Controvalore輸出字段必須SUM的結果(ISNULL(pre.impPre,0)+ ISNULL(riv.impRiv,0))乘以Aliquota第二個查詢的輸出值。
我該怎麼辦?
感謝
沒有GROUP BY子句? – jarlh
爲什麼不加入? – sagi
@jarlh是的,我有一個GROUP BY子句,我編輯了我的原始帖子 – AndreaNobili