2014-06-09 56 views
0

我需要以最好的方式指導做到這一點。我跑了一份報告,顯示那些在過去2個月沒有銷售的零件。現在我們假設這將在每個月初運行。我做了硬編碼,這需要自動運行在水晶報表中。我這樣做的方式是4個查詢。第一個選擇「可供出售」和盤點的物品。看來我們可以很容易地將它變成一個視圖。在IBM存儲過程我看來

這裏這第二個挑選其中有在問題2個月銷售的項目。這應該是一個存儲過程嗎?如果是這樣,我以前沒有exp。使用IBM i上的SP。但在我看來,sp是最好的。

在這裏,我們選擇記錄時出現了銷售量在第四或第五個月。 這是硬編碼。我們需要在過去的兩個月內隨時這樣做。如果程序正在運行在 六月,那麼我們需要看看五月和四月。這一年應該是相應的。本年度,除非我們在 一月 - 二月執行此操作。那麼我們希望2013年11月至12月等。

SELECT                 
    ALL  T01.IAPRT#, T01.IA101, T01.IAPRLC, T01.IARCC1, T01.IARCC2, 
      T01.IARCC3, T01.IARCC4, T01.IARCC5, T01.IARCC6, T01.IARCC7, 
      T01.IARCC8, T01.IARCC9, T01.IARC10, T01.IARC11, T01.IARC12, 
      T01.IARC13, T01.IARC14, T01.IARC15, T02.IQYER#, T02.IQA04, 
      T02.IQA05, (T02.IQA04+T02.IQA05) AS TOT45     
    FROM  ASTDTA.ICPRT1 T01 LEFT OUTER JOIN       
      ASTDTA.ICSUM1 T02           
    ON  T01.IAPRT# = T02.IQPRT#          
    WHERE  IAORDF = '1'             
    AND  IARCC6 = 'INV'            
    AND  T02.IQYER# = 2014           
    AND  T02.IQTSCC = 'I'            
    AND  (T02.IQA04+T02.IQA05) <> 0         
    ORDER BY T01.IAPRT# ASC            
+1

一般最佳做法是一個存儲過程。 –

+0

有沒有關於如何在ibm \ i上創建sp的示例的鏈接? – Adams

+0

「......銷售在第四或第五個月」 - 難道說,不知何故值向左移動每一次新的開始一個月? – user2338816

回答

3

在IBM i上創建SQL存儲過程與在任何其他平臺上創建存儲過程非常相似。 CREATE PROCEDURE是SQL命令。您可以通過綠色屏幕STRSQL命令,GUI IBM i Navigator或IBM i Access for Web來發出該命令。如果您願意,也可以使用ODBC或JDBC連接。

所有IBM i參考資料都可以位於Knowledge Center對於v7.1,直接鏈接到存儲過程是http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/sqlp/rbafysproeg.htm?lang=en導航路徑是IBM i 7.1> Database> Programming> SQL programming> Routines> Stored procedures 。