<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic joins in abap programming in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009950#M410119</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;   i am a fresher and i have a question. how many joins can program have.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 16 Mar 2007 06:06:16 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-03-16T06:06:16Z</dc:date>
    <item>
      <title>joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009950#M410119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;   i am a fresher and i have a question. how many joins can program have.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:06:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009950#M410119</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:06:16Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009951#M410120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt; do u mean the inner and outer joins....&lt;/P&gt;&lt;P&gt;if so u can have any number of joins...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:07:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009951#M410120</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:07:56Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009952#M410121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maximumum 3 joins is good for SEELECT query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&lt;STRONG&gt;Please reward suitable points&lt;/STRONG&gt;***&lt;/P&gt;&lt;P&gt;With Regards&lt;/P&gt;&lt;P&gt;Navin Khedikar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:08:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009952#M410121</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:08:05Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009953#M410122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;we have two types of joins inner jin and let outer join.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:YTAB1,YTAB2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;     ECODE LIKE YTAB1-ECODE,&lt;/P&gt;&lt;P&gt;     ENAME LIKE YTAB1-ENAME,&lt;/P&gt;&lt;P&gt;     DNO LIKE YTAB2-DNO,&lt;/P&gt;&lt;P&gt;     SALARY LIKE YTAB1-SALARY,&lt;/P&gt;&lt;P&gt;     CTYPE LIKE YTAB1-CTYPE,&lt;/P&gt;&lt;P&gt;     DNAME LIKE YTAB2-DNAME,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT YTAB1&lt;SUB&gt;ECODE YTAB1&lt;/SUB&gt;ENAME YTAB1&lt;SUB&gt;DNO YTAB1&lt;/SUB&gt;SALARY YTAB1~CTYPE&lt;/P&gt;&lt;P&gt;YTAB2~DNAME INTO (ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE&lt;/P&gt;&lt;P&gt;,ITAB-DNAME) FROM YTAB1 INNER JOIN YTAB2 ON YTAB1&lt;SUB&gt;DNO = YTAB2&lt;/SUB&gt;DNO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE,&lt;/P&gt;&lt;P&gt;ITAB-DNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT YTAB1&lt;SUB&gt;ECODE YTAB1&lt;/SUB&gt;ENAME YTAB1&lt;SUB&gt;DNO YTAB1&lt;/SUB&gt;SALARY YTAB1~CTYPE&lt;/P&gt;&lt;P&gt;YTAB2~DNAME INTO (ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE&lt;/P&gt;&lt;P&gt;,ITAB-DNAME) FROM YTAB1 LEFT OUTER JOIN YTAB2 ON YTAB1&lt;SUB&gt;DNO = YTAB2&lt;/SUB&gt;DNO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE:/ ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE,&lt;/P&gt;&lt;P&gt;ITAB-DNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT YTAB1&lt;SUB&gt;ECODE YTAB1&lt;/SUB&gt;ENAME YTAB2&lt;SUB&gt;DNO YTAB1&lt;/SUB&gt;SALARY YTAB1~CTYPE&lt;/P&gt;&lt;P&gt;YTAB2~DNAME INTO (ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE&lt;/P&gt;&lt;P&gt;,ITAB-DNAME) FROM YTAB2 INNER JOIN YTAB1 ON YTAB2&lt;SUB&gt;DNO = YTAB1&lt;/SUB&gt;DNO.&lt;/P&gt;&lt;P&gt;WRITE:/ ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE,&lt;/P&gt;&lt;P&gt;ITAB-DNAME.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT YTAB1&lt;SUB&gt;ECODE YTAB1&lt;/SUB&gt;ENAME YTAB2&lt;SUB&gt;DNO YTAB1&lt;/SUB&gt;SALARY YTAB1~CTYPE&lt;/P&gt;&lt;P&gt;YTAB2~DNAME INTO (ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE&lt;/P&gt;&lt;P&gt;,ITAB-DNAME) FROM YTAB2 LEFT OUTER JOIN YTAB1 ON YTAB2&lt;SUB&gt;DNO = YTAB1&lt;/SUB&gt;DNO.&lt;/P&gt;&lt;P&gt;WRITE:/ ITAB-ECODE,ITAB-ENAME,ITAB-DNO,ITAB-SALARY,ITAB-CTYPE,&lt;/P&gt;&lt;P&gt;ITAB-DNAME.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check it .&lt;/P&gt;&lt;P&gt;it will be useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;bharat,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:08:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009953#M410122</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:08:24Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009954#M410123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jaya,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ABAP has two Joins.&lt;/P&gt;&lt;P&gt;INNER  JOIN  and  OUTER JOIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check out the post :&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1230466"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF you press F1 on JOIN statement ,it has explained really good.I am pasting the same for you.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;... FROM tabref1 [INNER] JOIN tabref2 ON cond &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Effect &lt;/P&gt;&lt;P&gt;The data is to be selected from transparent database tables and/or views determined by tabref1 and tabref2. tabref1 and tabref2 each have the same form as in variant 1 or are themselves Join expressions. The keyword INNER does not have to be specified. The database tables or views determined by tabref1 and tabref2 must be recognized by the ABAP Dictionary. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In a relational data structure, it is quite normal for data that belongs together to be split up across several tables to help the process of standardization (see relational databases). To regroup this information into a database query, you can link tables using the join command. This formulates conditions for the columns in the tables involved. The inner join contains all combinations of lines from the database table determined by tabref1 with lines from the table determined by tabref2, whose values together meet the logical condition (join condition) specified using ON&amp;gt;cond. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inner join between table 1 and table 2, where column D in both tables in the join condition is set the same: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Table 1 Table 2 &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;F&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;|--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\/ &lt;/P&gt;&lt;P&gt;Inner Join &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;F&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;|--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Output a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: DATE LIKE SFLIGHT-FLDATE, &lt;/P&gt;&lt;P&gt;CARRID LIKE SFLIGHT-CARRID, &lt;/P&gt;&lt;P&gt;CONNID LIKE SFLIGHT-CONNID. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT F&lt;SUB&gt;CARRID F&lt;/SUB&gt;CONNID F~FLDATE &lt;/P&gt;&lt;P&gt;INTO (CARRID, CONNID, DATE) &lt;/P&gt;&lt;P&gt;FROM SFLIGHT AS F INNER JOIN SPFLI AS P &lt;/P&gt;&lt;P&gt;ON F&lt;SUB&gt;CARRID = P&lt;/SUB&gt;CARRID AND &lt;/P&gt;&lt;P&gt;F&lt;SUB&gt;CONNID = P&lt;/SUB&gt;CONNID &lt;/P&gt;&lt;P&gt;WHERE P~CITYFROM = 'FRANKFURT' &lt;/P&gt;&lt;P&gt;AND P~CITYTO = 'NEW YORK' &lt;/P&gt;&lt;P&gt;AND F~FLDATE BETWEEN '20010910' AND '20010920' &lt;/P&gt;&lt;P&gt;AND F&lt;SUB&gt;SEATSOCC &amp;lt; F&lt;/SUB&gt;SEATSMAX. &lt;/P&gt;&lt;P&gt;WRITE: / DATE, CARRID, CONNID. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or a table alias. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;In order to determine the result of a SELECT command where the FROM clause contains a join, the database system first creates a temporary table containing the lines that meet the ON condition. The WHERE condition is then applied to the temporary table. It does not matter in an inner join whether the condition is in the ON or WHEREclause. The following example returns the same solution as the previous one. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Output of a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: DATE LIKE SFLIGHT-FLDATE, &lt;/P&gt;&lt;P&gt;CARRID LIKE SFLIGHT-CARRID, &lt;/P&gt;&lt;P&gt;CONNID LIKE SFLIGHT-CONNID. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT F&lt;SUB&gt;CARRID F&lt;/SUB&gt;CONNID F~FLDATE &lt;/P&gt;&lt;P&gt;INTO (CARRID, CONNID, DATE) &lt;/P&gt;&lt;P&gt;FROM SFLIGHT AS F INNER JOIN SPFLI AS P &lt;/P&gt;&lt;P&gt;ON F&lt;SUB&gt;CARRID = P&lt;/SUB&gt;CARRID &lt;/P&gt;&lt;P&gt;WHERE F&lt;SUB&gt;CONNID = P&lt;/SUB&gt;CONNID &lt;/P&gt;&lt;P&gt;AND P~CITYFROM = 'FRANKFURT' &lt;/P&gt;&lt;P&gt;AND P~CITYTO = 'NEW YORK' &lt;/P&gt;&lt;P&gt;AND F~FLDATE BETWEEN '20010910' AND '20010920' &lt;/P&gt;&lt;P&gt;AND F&lt;SUB&gt;SEATSOCC &amp;lt; F&lt;/SUB&gt;SEATSMAX. &lt;/P&gt;&lt;P&gt;WRITE: / DATE, CARRID, CONNID. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;Since not all of the database systems supported by SAP use the standard syntax for ON conditions, the syntax has been restricted. It only allows those joins that produce the same results on all of the supported database systems: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Only a table or view may appear to the right of the JOIN operator, not another join expression. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Only AND is possible in the ON condition as a logical operator. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Each comparison in the ON condition must contain a field from the right-hand table. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If an outer join occurs in the FROM clause, all the ON conditions must contain at least one "real" JOIN condition (a condition that contains a field from tabref1 amd a field from tabref2. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;In some cases, '*' may be specified in the SELECT clause, and an internal table or work area is entered into the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the FROM clause, according to the structure of each table work area. There can then be gaps between table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, not simply by counting the total number of fields. For an example, see below: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Variant 3 &lt;/P&gt;&lt;P&gt;... FROM tabref1 LEFT [OUTER] JOIN tabref2 ON cond &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Effect &lt;/P&gt;&lt;P&gt;Selects the data from the transparent database tables and/or views specified in tabref1 and tabref2. tabref1 und tabref2 both have either the same form as in variant 1 or are themselves join expressions. The keyword OUTER can be omitted. The database tables or views specified in tabref1 and tabref2 must be recognized by the ABAP-Dictionary. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to determine the result of a SELECT command where the FROM clause contains a left outer join, the database system creates a temporary table containing the lines that meet the ON condition. The remaining fields from the left-hand table (tabref1) are then added to this table, and their corresponding fields from the right-hand table are filled with ZERO values. The system then applies the WHERE condition to the table. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Left outer join between table 1 and table 2 where column D in both tables set the join condition: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Table 1 Table 2 &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;F&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;|--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\ / &lt;/P&gt;&lt;P&gt;\/ &lt;/P&gt;&lt;P&gt;Left Outer Join &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;F&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NULL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NULL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NULL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NULL&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;NULL&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;|--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Output a list of all custimers with their bookings for October 15th, 2001: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: CUSTOMER TYPE SCUSTOM, &lt;/P&gt;&lt;P&gt;BOOKING TYPE SBOOK. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SCUSTOM&lt;SUB&gt;NAME SCUSTOM&lt;/SUB&gt;POSTCODE SCUSTOM~CITY &lt;/P&gt;&lt;P&gt;SBOOK&lt;SUB&gt;FLDATE SBOOK&lt;/SUB&gt;CARRID SBOOK&lt;SUB&gt;CONNID SBOOK&lt;/SUB&gt;BOOKID &lt;/P&gt;&lt;P&gt;INTO (CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY, &lt;/P&gt;&lt;P&gt;BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID, &lt;/P&gt;&lt;P&gt;BOOKING-BOOKID) &lt;/P&gt;&lt;P&gt;FROM SCUSTOM LEFT OUTER JOIN SBOOK &lt;/P&gt;&lt;P&gt;ON SCUSTOM&lt;SUB&gt;ID = SBOOK&lt;/SUB&gt;CUSTOMID AND &lt;/P&gt;&lt;P&gt;SBOOK~FLDATE = '20011015' &lt;/P&gt;&lt;P&gt;ORDER BY SCUSTOM&lt;SUB&gt;NAME SBOOK&lt;/SUB&gt;FLDATE. &lt;/P&gt;&lt;P&gt;WRITE: / CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY, &lt;/P&gt;&lt;P&gt;BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID, &lt;/P&gt;&lt;P&gt;BOOKING-BOOKID. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or using an alias. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;For the resulting set of a SELECT command with a left outer join in the FROM clause, it is generally of crucial importance whether a logical condition is in the ON or WHERE condition. Since not all of the database systems supported by SAP themselves support the standard syntax and semantics of the left outer join, the syntax has been restricted to those cases that return the same solution in all database systems: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Only a table or view may come after the JOIN operator, not another join statement. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only logical operator allowed in the ON condition is AND. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Each comparison in the ON condition must contain a field from the right-hand table. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Comparisons in the WHERE condition must not contain a field from the right-hand table. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ON condition must contain at least one "real" JOIN condition (a condition in which a field from tabref1 as well as from tabref2 occurs). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;In some cases, '*' may be specivied as the field list in the SELECT clause, and an internal table or work area is entered in the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the llen in der FROM clause, according to the structure of each table work area. There can be gaps between the table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, as in the following example (not simply by counting the total number of fields). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Example of a JOIN with more than two tables: Select all flights from Frankfurt to New York between September 10th and 20th, 2001 where there are available places, and display the name of the airline. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF WA, &lt;/P&gt;&lt;P&gt;FLIGHT TYPE SFLIGHT, &lt;/P&gt;&lt;P&gt;PFLI TYPE SPFLI, &lt;/P&gt;&lt;P&gt;CARR TYPE SCARR, &lt;/P&gt;&lt;P&gt;END OF WA. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * INTO WA &lt;/P&gt;&lt;P&gt;FROM ( SFLIGHT AS F INNER JOIN SPFLI AS P &lt;/P&gt;&lt;P&gt;ON F&lt;SUB&gt;CARRID = P&lt;/SUB&gt;CARRID AND &lt;/P&gt;&lt;P&gt;F&lt;SUB&gt;CONNID = P&lt;/SUB&gt;CONNID ) &lt;/P&gt;&lt;P&gt;INNER JOIN SCARR AS C &lt;/P&gt;&lt;P&gt;ON F&lt;SUB&gt;CARRID = C&lt;/SUB&gt;CARRID &lt;/P&gt;&lt;P&gt;WHERE P~CITYFROM = 'FRANKFURT' &lt;/P&gt;&lt;P&gt;AND P~CITYTO = 'NEW YORK' &lt;/P&gt;&lt;P&gt;AND F~FLDATE BETWEEN '20010910' AND '20010920' &lt;/P&gt;&lt;P&gt;AND F&lt;SUB&gt;SEATSOCC &amp;lt; F&lt;/SUB&gt;SEATSMAX. &lt;/P&gt;&lt;P&gt;WRITE: / WA-CARR-CARRNAME, WA-FLIGHT-FLDATE, WA-FLIGHT-CARRID, &lt;/P&gt;&lt;P&gt;WA-FLIGHT-CONNID. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Priyanka.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:08:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009954#M410123</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:08:56Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009955#M410124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;chk this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;table emp &lt;/P&gt;&lt;P&gt;empno name&lt;/P&gt;&lt;P&gt;a sasi&lt;/P&gt;&lt;P&gt;b xxx &lt;/P&gt;&lt;P&gt;c yyy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;table sal&lt;/P&gt;&lt;P&gt;empno salary&lt;/P&gt;&lt;P&gt;a 1000&lt;/P&gt;&lt;P&gt;b 2000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Inner join&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;****************&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;select e~empno e~name 
s~sal 
into table int_table
from emp as e
inner join sal
on 
e~empno = s~empno.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;if you made inner join between table a and b by emp no &lt;/P&gt;&lt;P&gt;the selection retrives only if the condition satisfy the output will be&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a sasi 1000&lt;/P&gt;&lt;P&gt;b xxx 2000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Outer join&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;*************************&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;select e~empno e~name 
s~sal into table  int_table
from emp as e
LEFT OUTER JOIN sal
on 
e~empno = s~empno.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you made outer join (left /right ) the left table kept as it is the &lt;/P&gt;&lt;P&gt;if the condition satisfy the right table entries will fetch else leave it blank&lt;/P&gt;&lt;P&gt;the output will be&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a sasi a 1000&lt;/P&gt;&lt;P&gt;b xxx b 2000&lt;/P&gt;&lt;P&gt;c yyy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anver&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:09:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009955#M410124</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2007-03-16T06:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009956#M410125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;a program can have any number of joins, but it reduces the performance of the program.&lt;/P&gt;&lt;P&gt;using joins in a program is a performance issue, we have to minimize the rows to be retireved using the conditions in the where clause.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Prasanth&lt;/P&gt;&lt;P&gt;*reward points if helpful&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:09:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009956#M410125</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:09:32Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009957#M410126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if you are asking how many nesting levels can there be then the answer i guess is 63 for innerjoins. I am talking about inner joins in a single select statement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:09:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009957#M410126</guid>
      <dc:creator>Azeemquadri</dc:creator>
      <dc:date>2007-03-16T06:09:38Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009958#M410127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;jaya,&lt;/P&gt;&lt;P&gt;   Welcome to SDN. u can use inner join for joining two tables, but for more tables u have go to for all entries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there is requirement u can use as many joins, but definitely it will reduce the performance of the program. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Arun.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:10:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009958#M410127</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:10:03Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009959#M410128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;is there any specific number for inner joins .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:14:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009959#M410128</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:14:20Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009960#M410129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;jaya,&lt;/P&gt;&lt;P&gt; There is no specific number for inner joins that can be used in a program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if there is a requirement u can use any number of inner joins, but it will definitely reduces the performance of the program. So keep the inner joins as minimal as possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Arun.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:18:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009960#M410129</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:18:31Z</dc:date>
    </item>
    <item>
      <title>Re: joins in abap programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009961#M410130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;Info in help is good to understand better. Below is the &lt;/P&gt;&lt;P&gt;same for you understanding.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;... FROM tabref1 [INNER] JOIN tabref2 ON cond &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Effect &lt;/P&gt;&lt;P&gt;The data is to be selected from transparent database tables and/or views determined by tabref1 and tabref2. tabref1 and tabref2 each have the same form as in variant 1 or are themselves Join expressions. The keyword INNER does not have to be specified. The database tables or views determined by tabref1 and tabref2 must be recognized by the ABAP Dictionary. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;In a relational data structure, it is quite normal for data that belongs together to be split up across several tables to help the process of standardization (see relational databases). To regroup this information into a database query, you can link tables using the join command. This formulates conditions for the columns in the tables involved. The inner join contains all combinations of lines from the database table determined by tabref1 with lines from the table determined by tabref2, whose values together meet the logical condition (join condition) specified using ON&amp;gt;cond. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Inner join between table 1 and table 2, where column D in both tables in the join condition is set the same: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Table 1                      Table 2 &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;F&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;|--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                    \        / &lt;/P&gt;&lt;P&gt;                     \      / &lt;/P&gt;&lt;P&gt;                      \    / &lt;/P&gt;&lt;P&gt;                       \  / &lt;/P&gt;&lt;P&gt;                        \/ &lt;/P&gt;&lt;P&gt;    Inner Join &lt;/P&gt;&lt;P&gt;    |--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;    | A  | B  | C  | D  | D  | E  | F  | G  | H  | &lt;/P&gt;&lt;P&gt;    |--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;    | a1 | b1 | c1 | 1  | 1  | e1 | f1 | g1 | h1 | &lt;/P&gt;&lt;P&gt;    | a2 | b2 | c2 | 1  | 1  | e1 | f1 | g1 | h1 | &lt;/P&gt;&lt;P&gt;    | a4 | b4 | c4 | 3  | 3  | e2 | f2 | g2 | h2 | &lt;/P&gt;&lt;P&gt;    |--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Output a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: DATE   LIKE SFLIGHT-FLDATE, &lt;/P&gt;&lt;P&gt;      CARRID LIKE SFLIGHT-CARRID, &lt;/P&gt;&lt;P&gt;      CONNID LIKE SFLIGHT-CONNID. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECT F&lt;SUB&gt;CARRID F&lt;/SUB&gt;CONNID F~FLDATE &lt;/P&gt;&lt;P&gt;    INTO (CARRID, CONNID, DATE) &lt;/P&gt;&lt;P&gt;    FROM SFLIGHT AS F INNER JOIN SPFLI AS P &lt;/P&gt;&lt;P&gt;           ON F&lt;SUB&gt;CARRID = P&lt;/SUB&gt;CARRID AND &lt;/P&gt;&lt;P&gt;              F&lt;SUB&gt;CONNID = P&lt;/SUB&gt;CONNID &lt;/P&gt;&lt;P&gt;    WHERE P~CITYFROM = 'FRANKFURT' &lt;/P&gt;&lt;P&gt;      AND P~CITYTO   = 'NEW YORK' &lt;/P&gt;&lt;P&gt;      AND F~FLDATE BETWEEN '20010910' AND '20010920' &lt;/P&gt;&lt;P&gt;      AND F&lt;SUB&gt;SEATSOCC &amp;lt; F&lt;/SUB&gt;SEATSMAX. &lt;/P&gt;&lt;P&gt;  WRITE: / DATE, CARRID, CONNID. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or a table alias. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;In order to determine the result of a SELECT command where the FROM clause contains a join, the database system first creates a temporary table containing the lines that meet the ON condition. The WHERE condition is then applied to the temporary table. It does not matter in an inner join whether the condition is in the ON or WHEREclause. The following example returns the same solution as the previous one. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Output of a list of all flights from Frankfurt to New York between September 10th and 20th, 2001 that are not sold out: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: DATE   LIKE SFLIGHT-FLDATE, &lt;/P&gt;&lt;P&gt;      CARRID LIKE SFLIGHT-CARRID, &lt;/P&gt;&lt;P&gt;      CONNID LIKE SFLIGHT-CONNID. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECT F&lt;SUB&gt;CARRID F&lt;/SUB&gt;CONNID F~FLDATE &lt;/P&gt;&lt;P&gt;    INTO (CARRID, CONNID, DATE) &lt;/P&gt;&lt;P&gt;    FROM SFLIGHT AS F INNER JOIN SPFLI AS P &lt;/P&gt;&lt;P&gt;           ON F&lt;SUB&gt;CARRID = P&lt;/SUB&gt;CARRID &lt;/P&gt;&lt;P&gt;    WHERE F&lt;SUB&gt;CONNID = P&lt;/SUB&gt;CONNID &lt;/P&gt;&lt;P&gt;      AND P~CITYFROM = 'FRANKFURT' &lt;/P&gt;&lt;P&gt;      AND P~CITYTO   = 'NEW YORK' &lt;/P&gt;&lt;P&gt;      AND F~FLDATE BETWEEN '20010910' AND '20010920' &lt;/P&gt;&lt;P&gt;      AND F&lt;SUB&gt;SEATSOCC &amp;lt; F&lt;/SUB&gt;SEATSMAX. &lt;/P&gt;&lt;P&gt;  WRITE: / DATE, CARRID, CONNID. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;Since not all of the database systems supported by SAP use the standard syntax for ON conditions, the syntax has been restricted. It only allows those joins that produce the same results on all of the supported database systems: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Only a table or view may appear to the right of the JOIN operator, not another join expression. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Only AND is possible in the ON condition as a logical operator. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Each comparison in the ON condition must contain a field from the right-hand table. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;If an outer join occurs in the FROM clause, all the ON conditions must contain at least one "real" JOIN condition (a condition that contains a field from tabref1 amd a field from tabref2. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;In some cases, '*' may be specified in the SELECT clause, and an internal table or work area is entered into the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the FROM clause, according to the structure of each table work area. There can then be gaps between table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, not simply by counting the total number of fields. For an example, see below: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Variant 3 &lt;/P&gt;&lt;P&gt;... FROM tabref1 LEFT [OUTER] JOIN tabref2 ON cond &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Effect &lt;/P&gt;&lt;P&gt;Selects the data from the transparent database tables and/or views specified in tabref1 and tabref2. tabref1 und tabref2 both have either the same form as in variant 1 or are themselves join expressions. The keyword OUTER can be omitted. The database tables or views specified in tabref1 and tabref2 must be recognized by the ABAP-Dictionary. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;In order to determine the result of a SELECT command where the FROM clause contains a left outer join, the database system creates a temporary table containing the lines that meet the ON condition. The remaining fields from the left-hand table (tabref1) are then added to this table, and their corresponding fields from the right-hand table are filled with ZERO values. The system then applies the WHERE condition to the table. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Left outer join between table 1 and table 2 where column D in both tables set the join condition: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Table 1                      Table 2 &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;F&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;G&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;e3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;f3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;g3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;h3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;a4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;b4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;c4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;TD&gt;&lt;HR originaltext="---" /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;|--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                    \        / &lt;/P&gt;&lt;P&gt;                     \      / &lt;/P&gt;&lt;P&gt;                      \    / &lt;/P&gt;&lt;P&gt;                       \  / &lt;/P&gt;&lt;P&gt;                        \/ &lt;/P&gt;&lt;P&gt;    Left Outer Join &lt;/P&gt;&lt;P&gt;    |--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;    | A  | B  | C  | D  | D  | E  | F  | G  | H  | &lt;/P&gt;&lt;P&gt;    |--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt;    | a1 | b1 | c1 | 1  | 1  | e1 | f1 | g1 | h1 | &lt;/P&gt;&lt;P&gt;    | a2 | b2 | c2 | 1  | 1  | e1 | f1 | g1 | h1 | &lt;/P&gt;&lt;P&gt;    | a3 | b3 | c3 | 2  |NULL|NULL|NULL|NULL|NULL| &lt;/P&gt;&lt;P&gt;    | a4 | b4 | c4 | 3  | 3  | e2 | f2 | g2 | h2 | &lt;/P&gt;&lt;P&gt;    |--&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;&lt;DEL&gt;|&lt;/DEL&gt;--| &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Output a list of all custimers with their bookings for October 15th, 2001: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: CUSTOMER TYPE SCUSTOM, &lt;/P&gt;&lt;P&gt;      BOOKING  TYPE SBOOK. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECT SCUSTOM&lt;SUB&gt;NAME SCUSTOM&lt;/SUB&gt;POSTCODE SCUSTOM~CITY &lt;/P&gt;&lt;P&gt;       SBOOK&lt;SUB&gt;FLDATE SBOOK&lt;/SUB&gt;CARRID SBOOK&lt;SUB&gt;CONNID SBOOK&lt;/SUB&gt;BOOKID &lt;/P&gt;&lt;P&gt;       INTO (CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY, &lt;/P&gt;&lt;P&gt;             BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID, &lt;/P&gt;&lt;P&gt;             BOOKING-BOOKID) &lt;/P&gt;&lt;P&gt;       FROM SCUSTOM LEFT OUTER JOIN SBOOK &lt;/P&gt;&lt;P&gt;         ON SCUSTOM&lt;SUB&gt;ID = SBOOK&lt;/SUB&gt;CUSTOMID AND &lt;/P&gt;&lt;P&gt;            SBOOK~FLDATE = '20011015' &lt;/P&gt;&lt;P&gt;       ORDER BY SCUSTOM&lt;SUB&gt;NAME SBOOK&lt;/SUB&gt;FLDATE. &lt;/P&gt;&lt;P&gt;  WRITE: / CUSTOMER-NAME, CUSTOMER-POSTCODE, CUSTOMER-CITY, &lt;/P&gt;&lt;P&gt;           BOOKING-FLDATE, BOOKING-CARRID, BOOKING-CONNID, &lt;/P&gt;&lt;P&gt;           BOOKING-BOOKID. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;If there are columns with the same name in both tables, you must distinguish between them by prefixing the field descriptor with the table name or using an alias. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;For the resulting set of a SELECT command with a left outer join in the FROM clause, it is generally of crucial importance whether a logical condition is in the ON or WHERE condition. Since not all of the database systems supported by SAP themselves support the standard syntax and semantics of the left outer join, the syntax has been restricted to those cases that return the same solution in all database systems: &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Only a table or view may come after the JOIN operator, not another join statement. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;The only logical operator allowed in the ON condition is AND. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Each comparison in the ON condition must contain a field from the right-hand table. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Comparisons in the WHERE condition must not contain a field from the right-hand table. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;The ON condition must contain at least one "real" JOIN condition (a condition in which a field from tabref1 as well as from tabref2 occurs). &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Note &lt;/P&gt;&lt;P&gt;In some cases, '*' may be specivied as the field list in the SELECT clause, and an internal table or work area is entered in the INTO clause (instead of a list of fields). If so, the fields are written to the target area from left to right in the order in which the tables appear in the llen in der FROM clause, according to the structure of each table work area. There can be gaps between the table work areas if you use an Alignment Request. For this reason, you should define the target work area with reference to the types of the database tables, as in the following example (not simply by counting the total number of fields). &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Example &lt;/P&gt;&lt;P&gt;Example of a JOIN with more than two tables: Select all flights from Frankfurt to New York between September 10th and 20th, 2001 where there are available places, and display the name of the airline. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: BEGIN OF WA, &lt;/P&gt;&lt;P&gt;        FLIGHT TYPE SFLIGHT, &lt;/P&gt;&lt;P&gt;        PFLI   TYPE SPFLI, &lt;/P&gt;&lt;P&gt;        CARR   TYPE SCARR, &lt;/P&gt;&lt;P&gt;      END OF WA. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;SELECT * INTO WA &lt;/P&gt;&lt;P&gt;    FROM ( SFLIGHT AS F INNER JOIN SPFLI AS P &lt;/P&gt;&lt;P&gt;             ON F&lt;SUB&gt;CARRID = P&lt;/SUB&gt;CARRID AND &lt;/P&gt;&lt;P&gt;                F&lt;SUB&gt;CONNID = P&lt;/SUB&gt;CONNID ) &lt;/P&gt;&lt;P&gt;           INNER JOIN SCARR AS C &lt;/P&gt;&lt;P&gt;             ON F&lt;SUB&gt;CARRID = C&lt;/SUB&gt;CARRID &lt;/P&gt;&lt;P&gt;    WHERE P~CITYFROM = 'FRANKFURT' &lt;/P&gt;&lt;P&gt;      AND P~CITYTO   = 'NEW YORK' &lt;/P&gt;&lt;P&gt;      AND F~FLDATE BETWEEN '20010910' AND '20010920' &lt;/P&gt;&lt;P&gt;      AND F&lt;SUB&gt;SEATSOCC &amp;lt; F&lt;/SUB&gt;SEATSMAX. &lt;/P&gt;&lt;P&gt;  WRITE: / WA-CARR-CARRNAME, WA-FLIGHT-FLDATE, WA-FLIGHT-CARRID, &lt;/P&gt;&lt;P&gt;           WA-FLIGHT-CONNID. &lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kishi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2007 06:19:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/joins-in-abap-programming/m-p/2009961#M410130</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-16T06:19:35Z</dc:date>
    </item>
  </channel>
</rss>

