2017-01-02 81 views
0

我有我的選擇語句類似這樣的現在:標準查詢兩個關係表

SELECT pernr reinr pdatv pdatb accdt pdvrs abrec FROM ptrv_perio 
INTO CORRESPONDING FIELDS OF TABLE lt_ptrv_perio 
WHERE (abrec EQ '2' 
     AND pdatv GE pa_begda 
     AND pdatb LE pa_endda) 
OR (abrec EQ '3' 
     AND accdt GE pa_begda 
     AND accdt LE pa_endda). 

的東西是從我的第二個條件屬性accdt在另一張表。有沒有一種方法可以得到它並直接在select語句中使用它? 我得到的問題是,我無法獲得選擇前的值,因爲我在該選擇中獲得了正確的旅行ID。

我希望我能解釋我的問題。感謝任何提示! :)

+0

顯然,你不熟悉的數據庫連接的概念......? – vwegert

+0

我是一個初學者。我真的不確定我是否可以在這裏使用它,因爲我只使用另一個表中的這個值作爲條件而不是select語句的結果。 – Dyrdek

+0

@Dyrdek我認爲你應該嘗試描述你的問題更廣泛 – 2017-01-02 12:14:04

回答

0

下面的代碼解決了我的問題:

SELECT p~pernr p~reinr p~pdatv p~pdatb p~accdt p~pdvrs p~abrec 
FROM ptrv_perio AS p INNER JOIN ptrv_head AS h ON p~reinr = h~reinr 
INTO CORRESPONDING FIELDS OF TABLE lt_ptrv_perio 
WHERE (p~abrec EQ '2' 
     AND p~accdt GE pa_begda 
     AND p~accdt LE pa_endda) 
OR (p~abrec EQ '3' 
     AND h~dates GE pa_begda 
     AND h~dates LE pa_endda). 

我從表中選擇P同時在OR-聲明標準來自表小時。 希望這會幫助別人,除了我:)