<?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 Re: left join on proc sql in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425759#M104885</link>
    <description>&lt;P&gt;I never knew about the EXCEPT statement in PROC SQL. Here it is, a Monday morning, and I have learned something new.&lt;/P&gt;</description>
    <pubDate>Mon, 08 Jan 2018 13:25:48 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2018-01-08T13:25:48Z</dc:date>
    <item>
      <title>left join on proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425709#M104866</link>
      <description>&lt;P class="x_MsoNormal"&gt;&lt;STRONG&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;new;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;input&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;x;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;datalines&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;run&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;STRONG&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;new1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;input&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;x;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;datalines&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;run&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;I want my output to be 1 and 2 .I know I can acheive this through merge step but I want to use proc sql .I have used below proc sql&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;code but when I am having large observation it takes too much time .Is their any other way i can use proc sql in this ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;STRONG&gt;&lt;SPAN&gt;proc&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;sql&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;create&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;table&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;final&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;select&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a.x,b.x&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;y&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;new&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;left&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;join&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;new1&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;b&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;on&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;a.x=b.x&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;where&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;b.x=&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;STRONG&gt;&lt;SPAN&gt;quit&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2018 09:46:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425709#M104866</guid>
      <dc:creator>shubham1</dc:creator>
      <dc:date>2018-01-08T09:46:57Z</dc:date>
    </item>
    <item>
      <title>Re: left join on proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425712#M104867</link>
      <description>&lt;P&gt;perhaps like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table final as
select x from new 
where x not in
(select distinct x from new1);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jan 2018 09:55:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425712#M104867</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2018-01-08T09:55:31Z</dc:date>
    </item>
    <item>
      <title>Re: left join on proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425714#M104869</link>
      <description>&lt;P&gt;When dealing with large tables, proc sort and data steps often outperform SQL. So use this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new;
input x;
datalines;
1
2
3
4
5
;
run;

data new1;
input x;
datalines;
3
4
5
;
run;

proc sort data=new;
by x;
run;

proc sort data=new1;
by x;
run;

data final;
merge
  new (in=a)
  new1 (in=b)
;
by x;
if a and not b;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jan 2018 10:15:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425714#M104869</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-01-08T10:15:00Z</dc:date>
    </item>
    <item>
      <title>Re: left join on proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425715#M104870</link>
      <description>&lt;P&gt;I agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&amp;nbsp;that datastep would be better suited for this:&lt;/P&gt;
&lt;PRE&gt;data want;
  merge new (in=a) new1 (in=b);
  by x;
  if a and not b;
run;
&lt;/PRE&gt;
&lt;P&gt;But, you could use the except clause in SQL:&lt;/P&gt;
&lt;PRE&gt;proc sql;
  create table WANT as
  select X
  from   NEW
  except &lt;BR /&gt;  select X &lt;BR /&gt;  from NEW1;
quit;
&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jan 2018 10:16:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425715#M104870</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-01-08T10:16:50Z</dc:date>
    </item>
    <item>
      <title>Re: left join on proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425759#M104885</link>
      <description>&lt;P&gt;I never knew about the EXCEPT statement in PROC SQL. Here it is, a Monday morning, and I have learned something new.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2018 13:25:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/left-join-on-proc-sql/m-p/425759#M104885</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-01-08T13:25:48Z</dc:date>
    </item>
  </channel>
</rss>

