2014-03-31 36 views
0

我必須報告特定的記錄。我們的訂單有許多細節,有時有數百個細節。我們記錄發生在訂單上的所有事情。我們正在尋找一份報告,顯示哪些訂單最初是報價 - 這個訂單的交易代碼爲QEE或QNE或QEP。那麼如果訂單還有一個@ 23這告訴我們它'轉換'爲一個訂單。需要使用1個sql來完成這3個步驟

  1. 在這裏,我們選擇所有訂單#,其中有一個'Q'作爲交易代碼(ottrnc)。

    create view mylib.quote1 as SELECT t1.otord#      
         FROM astdta.OETRANOT t1       
         WHERE t1.ottrnc IN ('QEE','QNE', 'QEP')  
    
  2. 在這裏我們使用的視圖QUOTE1,它會創建第二個觀點QUOTE2。

    SELECT            
        ALL  T01.OTORD#        
        FROM  mylib/QUOTE1 T01 LEFT OUTER JOIN   
          ASTCCDTA/OETRA99 T02      
        ON  T01.OTORD# = T02.OTORD#     
        WHERE  T02.OTTRNC = '@23'      
    
  3. 然後在報告工具,我們都加入到QUOTE2 ASTCCDTA/OETRA99讓我們顯示了那些爲了#具有的Q的1,也是@ 23的所有數據。

回答

0

不知道什麼順序列呼籲ASTCCDTA/OETRA99但是你想是這樣的:

SELECT DISTINCT t1.otord# 
FROM astdta.OETRANOT T01 
LEFT OUTER JOIN 
ASTCCDTA/OETRA99 T02 
ON T01.OTORD# = T02.OTORD# 
JOIN ASTCCDTA/OETRA99 T03 
ON T03.otord3 = T01.otord# 
WHERE T02.OTTRNC = '@23' 
AND T01.ottrnc IN ('QEE','QNE', 'QEP') 

OR

SELECT t1.otord# 
FROM astdta.OETRANOT T01 
LEFT OUTER JOIN 
ASTCCDTA/OETRA99 T02 
ON T01.OTORD# = T02.OTORD# 
JOIN ASTCCDTA/OETRA99 T03 
ON T03.otord3 = T01.otord# 
WHERE T02.OTTRNC = '@23' 
AND T01.ottrnc IN ('QEE','QNE', 'QEP') 
GROUP BY t1.otord# 
+0

這是件好事。有一件事我看到它使得重複,因爲可以有多個'q'類型每個訂單#或甚至超過1 @ 23類型。這可以作爲獨特的全面? – Adams

+0

是的。我修改了代碼。 –

相關問題