이 쿼리는 총 AFTER 할인을 계산합니다. 따라서 입력 값은 BEFORE 할인 전이어야합니다. 당신은 아마 이런 식으로 뭔가를하고있다 :
SELECT IIf([Quantity]=20,[Total After Discount]*0.95,...) AS [Total After Discount]
FROM ...
을 그래서 수 없습니다 [Total After Discount]
자체를 언급하고이 표현에. 당신은 테이블이나 쿼리 이름으로 열 이름을 정규화하여 그것을 할 수 있습니다, 다른 쿼리 또는 테이블의 열입니다
SELECT IIf([Quantity]=20,[Total Before Discount]*0.95,...) AS [Total After Discount]
FROM ...
[Total After Discount]
경우로 변경하고 다시 결과에서 같은 열 이름을 사용하려면 :
SELECT
IIf([Quantity]=20, MyTable.[Total After Discount]*0.95, ...)
AS [Total After Discount]
FROM MyTable
이렇게하면 재귀가 허용되지 않습니다.
하지만 논리가 실제로 맞습니까? 다음과 같아야합니다 :
IIf([Quantity]>=200,[Total Before Discount]*0.875,
IIf([Quantity]>=100,[Total Before Discount]*0.9,
IIf([Quantity]>=50,[Total Before Discount]*0.925,
IIf([Quantity]>=20,[Total Before Discount]*0.95,[Total Before Discount]))))
로직을 돌리십시오. 할인을 표시하지는 않지만 할인 후 합계를 표시하므로 "적용 할 수 없음"대신 합계를 표시해야합니다.
당신이 다음 예 "해당 사항 없음"을 표시 할인을 보여주는 한 경우 :
IIf([Quantity]>=200,"12.5%",
IIf([Quantity]>=100,"10%",
IIf([Quantity]>=50,"7.5%",
IIf([Quantity]>=20,"5%","Not Applicable")))) As DiscountPercent
아! 그래, 방금 할인을 보여주는 마지막 표현을 사용 했어. HOWEVER, 어떻게 번식합니까? "적용 할 수없는"필드는 실제로 여러 개가 될 수 없으므로 – SRATNA
BTW, 회사는 할인 된 가격으로 발행인에게서 책을 사러 간다. HOWEVER 주문 크기와 관련하여 상단에 할인을 추가하라는 요청을 받았습니다. 내 데이터베이스에 대한 이해에 도움이 된 희망 – SRATNA
좋아, 논리를 사용하고 두 개의 필드를 추가 했으므로 한 개는 할인을 표시하고 한 개는 모든 할인 후에 총을 표시합니다. 내 친구, 전설입니다! – SRATNA