[英]Calculate a sum from hidden columns
我有一張桌子,看起來像:
行使價基本上可以算出OrdersTaken-OrdersFrom,但是我不希望顯示這兩列,所以我只想代碼+行使價調用
但是當我禁用show時,它會提示我要求輸入數字,因此它不再能找到它了?
我的查詢看起來像:
SELECT T_Temp_RestrictedDiaryCalls.AccreditedDomainCode,
Count(T_Temp_RestrictedProductSalesHistory.CustomerCode)
AS OrdersTaken, qry_TargetReports.CountOfCustomerCode
AS OrdersFrom, [OrdersTaken]-[OrdersFrom]
AS [Strike Rate (Calls)]
FROM qry_TargetReports
INNER JOIN (T_Temp_RestrictedDiaryCalls
INNER JOIN T_Temp_RestrictedProductSalesHistory
ON (T_Temp_RestrictedDiaryCalls.CallDate = T_Temp_RestrictedProductSalesHistory.EntryDate)
AND (T_Temp_RestrictedDiaryCalls.CustomerCode = T_Temp_RestrictedProductSalesHistory.CustomerCode))
ON qry_TargetReports.AccreditedDomainCode = T_Temp_RestrictedDiaryCalls.AccreditedDomainCode
GROUP BY T_Temp_RestrictedDiaryCalls.AccreditedDomainCode, qry_TargetReports.CountOfCustomerCode;
但老實說,MsAccess是為我生成的。 我只需要一種方法,在仍能計算總和的情況下如何隱藏兩列,歡呼。
使用除[OrdersTaken]-[OrdersFrom]
之外的所有內容作為子查詢,並在父查詢中計算該差異。
問題是[OrdersTaken]
和[OrdersFrom]
都是字段表達式的別名,並且原始查詢在計算[Strike Rate (Calls)]
時試圖在SELECT
子句中使用這些別名。 通常,Access不會讓您這樣做。
SELECT
sub.AccreditedDomainCode,
(sub.OrdersTaken - sub.OrdersFrom) AS [Strike Rate (Calls)]
FROM
(
SELECT
rdc.AccreditedDomainCode,
Count(rpsh.CustomerCode) AS OrdersTaken,
tr.CountOfCustomerCode AS OrdersFrom
FROM
qry_TargetReports AS tr
INNER JOIN (T_Temp_RestrictedDiaryCalls AS rdc
INNER JOIN T_Temp_RestrictedProductSalesHistory AS rpsh
ON
(rdc.CallDate = rpsh.EntryDate)
AND (rdc.CustomerCode = rpsh.CustomerCode))
ON tr.AccreditedDomainCode = rdc.AccreditedDomainCode
GROUP BY rdc.AccreditedDomainCode, tr.CountOfCustomerCode
) AS sub;
看一下SELECT:有4個部分對應於4個結果列
T_Temp_RestrictedDiaryCalls.AccreditedDomainCode,
Count(T_Temp_RestrictedProductSalesHistory.CustomerCode) AS OrdersTaken,
qry_TargetReports.CountOfCustomerCode AS OrdersFrom
[OrdersTaken]-[OrdersFrom] AS [Strike Rate (Calls)]
如果只需要第一行和第四行,只需放下第二行和第三行:
T_Temp_RestrictedDiaryCalls.AccreditedDomainCode,
[OrdersTaken]-[OrdersFrom] AS [Strike Rate (Calls)]
但是,您還必須用它們的定義替換OrdersTaken和OrdersFrom:
T_Temp_RestrictedDiaryCalls.AccreditedDomainCode,
Count(T_Temp_RestrictedProductSalesHistory.CustomerCode) # this is what OrdersTaken stands for
- qry_TargetReports.CountOfCustomerCode # this is what OrdersFrom stands for
AS [Strike Rate (Calls)]
請注意,您還可以設置
Strike Rate (Calls):Count(T_Temp_RestrictedProductSalesHistory.CustomerCode)-qry_TargetReports.CountOfCustomerCode
在編輯器的查詢定義中,將執行相同的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.