<?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: PROC SQL Question in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152473#M40095</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Agree join will give required result ; but just wondering if possible with "where exists"....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 21 Nov 2013 20:09:52 GMT</pubDate>
    <dc:creator>Altal</dc:creator>
    <dc:date>2013-11-21T20:09:52Z</dc:date>
    <item>
      <title>PROC SQL Question</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152470#M40092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to select observations from one dataset based on certain criteria from another dataset in proc sql. I'm using WHERE EXISTS statement to filter-out.&lt;/P&gt;&lt;P&gt;My question, is there a way to include a variable (or more) from inside the WHERE EXISTS subquery into the main query?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an example.&lt;/P&gt;&lt;P&gt;I'm selecting observations from have1 if visitDt was before or equals to trtDt in have2.&lt;/P&gt;&lt;P&gt;The query runs well, but once I request any variable from the subquery (e.g.&amp;nbsp;&amp;nbsp; b.trtDt), the program will err.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was wondering if there a way to modify the code to have variable(s) from the subquery appear in the main query results.&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;&lt;/P&gt;&lt;P&gt;data have1;&lt;/P&gt;&lt;P&gt;input id visit visitDate mmddyy10.;&lt;/P&gt;&lt;P&gt;format visitDate mmddyy10.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 1 01/01/2012&lt;/P&gt;&lt;P&gt;1 2 02/01/2012&lt;/P&gt;&lt;P&gt;1 3 03/01/2012&lt;/P&gt;&lt;P&gt;1 4 04/01/2012&lt;/P&gt;&lt;P&gt;1 5 05/01/2012&lt;/P&gt;&lt;P&gt;2 1 01/01/2012&lt;/P&gt;&lt;P&gt;2 2 02/01/2012&lt;/P&gt;&lt;P&gt;2 3 03/01/2012&lt;/P&gt;&lt;P&gt;2 4 04/01/2012&lt;/P&gt;&lt;P&gt;2 5 05/01/2012&lt;/P&gt;&lt;P&gt;;&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;data have2;&lt;/P&gt;&lt;P&gt;input id trtDt mmddyy10.;&lt;/P&gt;&lt;P&gt;format trtDt mmddyy10.;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 02/01/2012&lt;/P&gt;&lt;P&gt;2 04/01/2012&lt;/P&gt;&lt;P&gt;;&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;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select id, visit&lt;/P&gt;&lt;P&gt;&amp;nbsp; from have1 a&lt;/P&gt;&lt;P&gt;&amp;nbsp; where exists&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (select * from have2&amp;nbsp; b&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; where visitDate &amp;lt;= trtDt&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; &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; and a.id=b.id );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 20:04:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152470#M40092</guid>
      <dc:creator>Altal</dc:creator>
      <dc:date>2013-11-21T20:04:57Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL Question</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152471#M40093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do a join instead&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 20:08:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152471#M40093</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-11-21T20:08:28Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL Question</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152472#M40094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You would have to do a join instead of a where exists query.&amp;nbsp; An inner join between a and b could be constructed that works effectively identically to the where exists.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IE:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;&amp;nbsp; select a.id, visit&lt;/P&gt;&lt;P&gt;&amp;nbsp; from have1 a, have2 b&lt;/P&gt;&lt;P&gt;&amp;nbsp; where A.id=B.id and a.visitDate le B.trtDt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now you can access B's variables i fyou want on the select statement.&amp;nbsp; It's not perfectly identical to where exists, but depending on the data it is usually equivalent.&amp;nbsp; It may act differently if B has duplicates per ID, in particular.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 20:09:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152472#M40094</guid>
      <dc:creator>snoopy369</dc:creator>
      <dc:date>2013-11-21T20:09:19Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL Question</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152473#M40095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Agree join will give required result ; but just wondering if possible with "where exists"....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 20:09:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152473#M40095</guid>
      <dc:creator>Altal</dc:creator>
      <dc:date>2013-11-21T20:09:52Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL Question</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152474#M40096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No, WHERE EXISTS is simply checking a table - it doesn't bring anything along with it except the result of the EXISTS query.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 20:13:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/PROC-SQL-Question/m-p/152474#M40096</guid>
      <dc:creator>snoopy369</dc:creator>
      <dc:date>2013-11-21T20:13:24Z</dc:date>
    </item>
  </channel>
</rss>

