以下のコードは、私が達成しようとしていることを示してくれることを望みます。集計関数の結果がselect文
問題は、入力選択のどれもが、私はそれを選択しようとするので、私は「無効な列を」取得VatableCash
を計算しようとする時間によって解決されていないということです。
ごめんなさい明白なことがあれば私はここでやります。 SQLは私の強い訴訟の一つではありません。
select
OrderHeader.ID,
sum(OrderLine.NetPrice) as OrderLineNetPrice,
sum(OrderLine.GrossPrice) as OrderLineGrossPrice,
sum(
case when PaymentOption_ID = 8
then Payment.Amount
else 0
end
) as TotalCashAmount,
((OrderLineGrossPrice - OrderLineNetPrice)/OrderLineGrossPrice) * TotalCashAmount as VatableCash
from OrderHeader
inner join Payment on Payment.OrderHeader_ID = OrderHeader.ID
inner join OrderLine on OrderLine.OrderHeader_ID = OrderHeader.ID
group by OrderHeader.ID
あなたはvatable現金を計算する際に、orderlinenetprice、orderlinegrosspriceとtotalcashamountの計算を繰り返し、外側のクエリにvatable現金の計算を移動したり(実際には同じものである)CTEを使用することができます。 –