2014-11-24 63 views
0

我有一個選擇語句,拉動計算,許多事情之一是本身的選擇。這就是我試圖運行:如何在select語句內運行此select語句而沒有任何問題?

  SELECT Sum(AIRMODEL_NETWORK_SUMMARY.COMBINED_CASES) AS Total_Volume, 
    TRUNC(Avg(AIRMODEL_NETWORK_SUMMARY.COMBINED_CASES), 2) AS Average_Volume, 
    Sum(AIRMODEL_NETWORK_SUMMARY.CASES_PRODUCED) AS Producivity, 
    Sum(AIRMODEL_NETWORK_SUMMARY.STOCKING_LEVEL) AS Total_Inventory, 
    TRUNC(Avg(AIRMODEL_NETWORK_SUMMARY.STOCKING_LEVEL), 2) AS Average_Inventory, 
    Count(DISTINCT AIRMODEL_NETWORK_SUMMARY.LOC_ID) AS Nbr_of_plants, 
    TRUNC(Avg(AIRMODEL_NETWORK_SUMMARY.health_score), 2) AS Network_Capacity, 
    Sum(AIRMODEL_NETWORK_SUMMARY.Current_SQFT) AS total_SQFT, 
    Sum(AIRMODEL_NETWORK_SUMMARY.Current_AVAIL_SQFT) AS SumOfCurrent_AVAIL_SQFT, 
    Count(DISTINCT AIRMODEL_NETWORK_SUMMARY.Routes) AS nbr_of_Route, 
    TRUNC(Avg(AIRMODEL_NETWORK_SUMMARY.Routes), 2) AS Avg_nbr_Routes, 
    TRUNC(Avg(AIRMODEL_NETWORK_SUMMARY.DockDoor_Utilization), 2) AS AvgOfDockDoor_Utilization, 
    Sum(AIRMODEL_NETWORK_SUMMARY.Layer_Pickers) AS SumOfLayer_Pickers, 
    Sum(AIRMODEL_NETWORK_SUMMARY.nbr_canopies) AS SumOfnbr_canopies, 
    Sum(AIRMODEL_NETWORK_SUMMARY.nbr_DriveTHRUS) AS SumOfnbr_DrivETHRUS, 
    (Select Sum(MAX_TRUCKS_IN_CANOPY + MAX_TRUCKS_IN_DT_LOADING) from icam_locations), 
    Sum(AIRMODEL_NETWORK_SUMMARY.nbr_Returns) AS SumOfnbr_Returns, 
    TRUNC(Avg(AIRMODEL_NETWORK_SUMMARY.nbr_Returns), 2) AS AvgOfnbr_Returns, 
    trunc((Sum(OUT_OF_STOCK_QTY)/Sum(combined_cases)), 2) AS Out_of_Stock_Pct, 
    Sum(AIRMODEL_NETWORK_SUMMARY.CountOfINVEN_ID) AS SumOfCountOfINVEN_ID, 
    SUM(AIRMODEL_NETWORK_SUMMARY.SKU_CAPACITY) AS SUMOfSKU_CAPACITY, 
    Sum(AIRMODEL_NETWORK_SUMMARY.Sales) AS SumOfSales, 
    TRUNC(Avg(AIRMODEL_NETWORK_SUMMARY.Sales), 2) AS AvgOfSales 
      FROM AIRMODEL_NETWORK_SUMMARY 
     INNER JOIN ICAM_LOCATIONS 
     ON AIRMODEL_NETWORK_SUMMARY.LOC_ID = ICAM_LOCATIONS.LOCATION_ID 
    WHERE 
TRIM((FSCL_YR_NUM * 100) +(FSCL_WK_IN_YR_NUM)) >= TRIM(('&PARM_FROM_DATE')) 
AND TRIM((FSCL_YR_NUM * 100) +(FSCL_WK_IN_YR_NUM)) <= TRIM(('&PARM_TO_DATE')) 
     ORDER BY AIRMODEL_NETWORK_SUMMARY.LOC_ID 

我和它玩,也試了一下,如下所示:

WITH STUFF_COUNT AS 
(
SELECT ICAM_LOCATIONS.LOCATION_ID, (MAX_TRUCKS_IN_CANOPY+ MAX_TRUCKS_IN_DT_LOADING) AS VAL2 
FROM ICAM_LOCATIONS 
GROUP BY LOCATION_ID, MAX_TRUCKS_IN_CANOPY, MAX_TRUCKS_IN_DT_LOADING 
) 
SELECT SUM(Z.VAL2), 
    Sum(S.COMBINED_CASES) AS Total_Volume, 
    TRUNC(Avg(S.COMBINED_CASES), 2) AS Average_Volume, 
    Sum(S.CASES_PRODUCED) AS Producivity, 
    Sum(S.STOCKING_LEVEL) AS Total_Inventory, 
    TRUNC(Avg(S.STOCKING_LEVEL), 2) AS Average_Inventory, 
    Count(DISTINCT S.LOC_ID) AS Nbr_of_plants, 
    TRUNC(Avg(S.health_score), 2) AS Network_Capacity, 
    Sum(S.Current_SQFT) AS total_SQFT, 
    Sum(S.Current_AVAIL_SQFT) AS SumOfCurrent_AVAIL_SQFT, 
    Count(DISTINCT S.Routes) AS nbr_of_Route, 
    TRUNC(Avg(S.Routes), 2) AS Avg_nbr_Routes, 
    TRUNC(Avg(S.DockDoor_Utilization), 2) AS AvgOfDockDoor_Utilization, 
    Sum(S.Layer_Pickers) AS SumOfLayer_Pickers, 
    Sum(S.nbr_canopies) AS SumOfnbr_canopies, 
    SUM(S.NBR_DRIVETHRUS) AS SUMOFNBR_DRIVETHRUS, 
    Sum(S.nbr_Returns) AS SumOfnbr_Returns, 
    TRUNC(Avg(S.nbr_Returns), 2) AS AvgOfnbr_Returns, 
    trunc((Sum(OUT_OF_STOCK_QTY)/Sum(combined_cases)), 2) AS Out_of_Stock_Pct, 
    Sum(S.CountOfINVEN_ID) AS SumOfCountOfINVEN_ID, 
    SUM(S.SKU_CAPACITY) AS SUMOfSKU_CAPACITY, 
    Sum(S.Sales) AS SumOfSales, 
    TRUNC(AVG(S.SALES), 2) AS AVGOFSALES 
FROM AIRMODEL_NETWORK_SUMMARY S, ICAM_LOCATIONS D, STUFF_COUNT Z 
WHERE S.LOC_ID = D.LOCATION_ID 
AND TRIM((FSCL_YR_NUM * 100) +(FSCL_WK_IN_YR_NUM)) >= TRIM(('&PARM_FROM_DATE')) 
AND TRIM((FSCL_YR_NUM * 100) +(FSCL_WK_IN_YR_NUM)) <= TRIM(('&PARM_TO_DATE')) 
    ORDER BY S.LOC_ID; 

均未已經得到安寧我想要的結果,但是當我seperately運行它們,我得到需要的東西。另外,我無法創建任何額外的表格來編寫太多或類似內容。它顯然需要作爲一個整體來完成(按照神的要求,或者付費公司至少是這樣)

我通常會得到這個錯誤,並且當我嘗試調整它的時候會出現其他隨機錯誤。

SQL錯誤:ORA-00937:不是單組功能。

回答

0

刪除

ORDER BY S.LOC_ID 

不能使用有其不是在GROUP BY(或不聚合函數/一個選擇EXPR別名/列數,例如ORDER BY 1

P.S.任何COLS並且在此查詢中沒有任何意義

+0

我通過刪除了該組。當我像這樣運行它時,它不會錯誤(YAY!),但是特定的select語句返回的值是1120而不是28(這是查找的答案),當它自己運行時 – 2014-11-24 22:54:37