2017-01-02 74 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-声明标准来自表小时。 希望这会帮助别人,除了我:)