Topic: a lesson for each day(205-1-7)

ERP俱乐部

第 1 页 总共 1 页 [共有 9 条记录]


Posted by mara on 2005-01-07 05:21 下午

REPORT demo_select_inner_join.

DATA: BEGIN OF wa,
        carrid TYPE spfli-carrid,
        connid TYPE spfli-connid,
        fldate TYPE sflight-fldate,
        bookid TYPE sbook-bookid,
      END OF wa,
      itab LIKE SORTED TABLE OF wa
                WITH UNIQUE KEY carrid connid fldate bookid.

SELECT  p~carrid p~connid f~fldate b~bookid
  INTO  CORRESPONDING FIELDS OF TABLE itab
  FROM  ( ( spfli AS p
            INNER JOIN sflight AS f ON p~carrid = f~carrid AND
                                       p~connid = f~connid    )
            INNER JOIN sbook   AS b ON b~carrid = f~carrid AND
                                       b~connid = f~connid AND
                                       b~fldate = f~fldate     )
  WHERE p~cityfrom = 'FRANKFURT' AND
        p~cityto   = 'NEW YORK'  AND
        f~seatsmax > f~seatsocc.

LOOP AT itab INTO wa.
  AT NEW fldate.
    WRITE: / wa-carrid, wa-connid, wa-fldate.
  ENDAT.
  WRITE / wa-bookid.
ENDLOOP.


Posted by kitty on 2005-01-10 04:15 下午
good good study,  day day up!Wink

Posted by tiantian536 on 2005-01-11 09:00 上午
LOOP AT itab INTO wa.
AT NEW fldate.
WRITE: / wa-carrid, wa-connid, wa-fldate.
ENDAT.
WRITE / wa-bookid.
ENDLOOP.

读itab,每遇到一个新的fldate,就写carrid.connid,fldate,再换行写bookid.
如没有新的fldate,就只写它的bookid.

是不是该这样理解?

Posted by mara on 2005-01-11 11:53 上午
你这样理解很正有确,还有一个更好的办法就是运行一下,验证一下看跟你想象中的结果是不是一样。

Posted by jufe on 2005-01-13 09:33 上午
我不建议大家使用多个INNER JOIN连用的语句,有一天你会发现数据不准确的。

Posted by ABAP低能儿 on 2005-01-20 09:18 上午
恩,INNER JOIN我一般不用

Posted by chrishcn on 2005-01-22 11:03 上午
Inner Join导致数据不准确?原因是来自于代码不够严谨,还是系统表的数据不对呢?
我觉得Inner Join很好用呀?!在Where里把条件写清楚些就好了,不能够含糊。你任何语法都是一样的呀!
我倒没发现Inner Join有出现数据问题。可能是我刚学不久,没有开法经验,对业务也不是很了解吧!请各位大虾解释一下数据不准确的原因吧!

Posted by tiantian536 on 2005-01-27 11:46 上午
我也觉得inner join 很好用啊,没有遇到过数据不准确的情况.???

Posted by dxue on 2005-02-20 04:49 下午
可能是左右外連接的選擇不同造成的