Select 查询两个相关表的条件

Select 查询两个相关表的条件,select,abap,opensql,Select,Abap,Opensql,我现在得到了这样的select声明: 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

我现在得到了这样的select声明:

  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语句中使用它? 我遇到的问题是,我无法在select之前获取值,因为我仅在该select中获取了正确的旅行ID


我希望我能解释我的问题。谢谢你的提示!:)

以下代码解决了我的问题:

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语句中的条件来自表h。
希望这能对我以外的人有所帮助:)

这方面我是个初学者。我不确定我是否可以在这里使用它,因为我只使用另一个表中的这个值作为条件,而不是select语句的结果。@Dyrdek我想你应该试着描述一下你的问题broader@LPK好的,我试着说得更清楚些。我想从表A中选择状态为“2”或“3”的行程。状态“2”旅行需要在一段时间内,我可以从表a中选择。但是状态为“3”的旅行需要一段时间,我只能从表B中获得。因此我的问题是:在使用表B中的标准时,如何从表a中选择?表B的实际名称是什么??感谢LPK的帮助。:)现在我得到了一个提示,并用以下代码解决了它:
选择p~pernr p~reinr p~pdatv p~pdatb p~accdt p~pdvrs p~abrec FROM ptrv_perio AS p internal JOIN ptrv_head AS h ON p~reinr=h~ reinr到表lt_ptrv_perio的相应字段中,其中(p~abrec公式'2'和p~accdt GE pa_begda和p~accdt LE pa_endda)或(p~abrec公式'3'和h~日期GE pa_begda和h~日期LE pa_endda)。
Sry无法更好地显示:/