2013-04-05 86 views
2

我需要從likp中選擇vbeln,並且我只需要選擇vbuk中標記爲'C'的vbeln。並從該likp-vbeln(交付)我必須搜索/選擇它的載體在vekp和搜索載體後,我必須搜索/從另一個表中選擇它的shiptype。我有7個字段的表,在下面的代碼中選擇一些交付,但我不知道如何在vbuk表中添加條件,因爲我不需要從vbuk中選擇。謝謝。代碼如下:在4個條件中選擇條件

SELECT likp~vbeln 
    tab~shiptype 
    vekp~carrier 
    vekp~service 
    COUNT(DISTINCT vekp~shipment) 
    SUM(vekp~packagecount) 
    SUM(vekp~rate) FROM vekp 
    INNER JOIN tab 
    ON tab~carrier = vekp~carrier INNER JOIN likp 
    ON vekp~delivery = likp~vbeln INTO itab 
    WHERE likp~erdat IN so_date AND 
     vekp~delivery = likp~vbeln AND 
     vekp~carrier = tab~code 
     GROUP BY vbeln shiptype carrier service. 

回答

1

您不需要從表中選擇要加入它,只需將VBUK添加到您的聯接。

我注意到你沒有包含INTO子句,當你使用一個字段列表的時候需要這個子句。

喜歡的東西:

SELECT likp~vbeln 
tab~shiptype 
vekp~carrier 
vekp~service 
COUNT(DISTINCT vekp~shipment) 
SUM(vekp~packagecount) 
SUM(vekp~rate) 
INTO (field1, fied2, etc)     "<=== Change1 
FROM vekp 
INNER JOIN tab 
    ON tab~carrier = vekp~carrier INNER JOIN likp 
    ON vekp~delivery = likp~vbeln INTO itab 
INNER JOIN VBUK        "<=== Change2 
    ON likp~vbeln = vbuk~vbeln 
WHERE likp~erdat IN so_date AND 
    vekp~delivery = likp~vbeln AND 
    vekp~carrier = tab~code AND 
    vbuk~fieldtocheck = 'C'     "<=== Change3 
GROUP BY vbeln shiptype carrier service. 
+0

感謝ESTI先生!我只是改變了一點,但它的工作!非常感謝! :d – 2013-04-07 04:43:41