<?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 SAS SQL data deletion problem in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44694#M11796</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I know you asked for a SQL solution and Linlin has offered a great answer. Just FYI, If using Datastep, there are many approaches as well:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Simple merge&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;merge a(in=a) b(in=b);&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;if a and not b ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Hash, not very efficient in this case, but you don't need to presort the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (drop=rc);&lt;/P&gt;&lt;P&gt;if 0 then set b;&lt;/P&gt;&lt;P&gt;declare hash h(dataset:"work.b");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineKey('id');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineData('id');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineDone();&lt;/P&gt;&lt;P&gt;set a;&lt;/P&gt;&lt;P&gt;rc=h.find();&lt;/P&gt;&lt;P&gt;if rc ne 0 then output;&lt;/P&gt;&lt;P&gt;run;&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;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 Feb 2012 03:37:16 GMT</pubDate>
    <dc:creator>Haikuo</dc:creator>
    <dc:date>2012-02-03T03:37:16Z</dc:date>
    <item>
      <title>SAS SQL data deletion problem</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44691#M11793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am a newbie and have this question in using SAS/SQL:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have two Tables A and B, and they have a common column named ID. Table B has a single column with distinct elements. The ID column inTable A have some repeated elements, some of which also appear in Table B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to delete all rows in Table A where the elements in the ID column appear in the ID column of Table B.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions?&amp;nbsp; SAS/DATA method will also be helpful. Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2012 02:27:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44691#M11793</guid>
      <dc:creator>Right</dc:creator>
      <dc:date>2012-02-03T02:27:33Z</dc:date>
    </item>
    <item>
      <title>SAS SQL data deletion problem</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44692#M11794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how about:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data tableA;&lt;/P&gt;&lt;P&gt;input id age;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 20&lt;/P&gt;&lt;P&gt;1 30&lt;/P&gt;&lt;P&gt;2 20&lt;/P&gt;&lt;P&gt;3 30&lt;/P&gt;&lt;P&gt;4 50&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;data tableB;&lt;/P&gt;&lt;P&gt;input id;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1&lt;/P&gt;&lt;P&gt;3&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table want as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from TableA&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where tableA.id not in (select id from tableB);&lt;/P&gt;&lt;P&gt; quit;&lt;/P&gt;&lt;P&gt; proc print;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Obs&amp;nbsp;&amp;nbsp;&amp;nbsp; id&amp;nbsp;&amp;nbsp;&amp;nbsp; age&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Linlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2012 02:57:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44692#M11794</guid>
      <dc:creator>Linlin</dc:creator>
      <dc:date>2012-02-03T02:57:21Z</dc:date>
    </item>
    <item>
      <title>SAS SQL data deletion problem</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44693#M11795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Linlin, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your answer rocks! Thanks:)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2012 03:05:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44693#M11795</guid>
      <dc:creator>Right</dc:creator>
      <dc:date>2012-02-03T03:05:03Z</dc:date>
    </item>
    <item>
      <title>SAS SQL data deletion problem</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44694#M11796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I know you asked for a SQL solution and Linlin has offered a great answer. Just FYI, If using Datastep, there are many approaches as well:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Simple merge&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;merge a(in=a) b(in=b);&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;if a and not b ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Hash, not very efficient in this case, but you don't need to presort the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (drop=rc);&lt;/P&gt;&lt;P&gt;if 0 then set b;&lt;/P&gt;&lt;P&gt;declare hash h(dataset:"work.b");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineKey('id');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineData('id');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h.defineDone();&lt;/P&gt;&lt;P&gt;set a;&lt;/P&gt;&lt;P&gt;rc=h.find();&lt;/P&gt;&lt;P&gt;if rc ne 0 then output;&lt;/P&gt;&lt;P&gt;run;&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;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Feb 2012 03:37:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44694#M11796</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-02-03T03:37:16Z</dc:date>
    </item>
    <item>
      <title>SAS SQL data deletion problem</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44695#M11797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Thanks, Haikuo!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The second method will take me some time to understand, but the first one looks really neat:)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Feb 2012 00:56:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/SAS-SQL-data-deletion-problem/m-p/44695#M11797</guid>
      <dc:creator>Right</dc:creator>
      <dc:date>2012-02-04T00:56:44Z</dc:date>
    </item>
  </channel>
</rss>

