<?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: Generate a list in subquery in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730322#M227398</link>
    <description>&lt;P&gt;Alternatively and more efficient:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select *
from work.stories as A
where titles in (select B.term
from example.searchterms as B
where A.titles = B.term);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 31 Mar 2021 07:58:18 GMT</pubDate>
    <dc:creator>SASKiwi</dc:creator>
    <dc:date>2021-03-31T07:58:18Z</dc:date>
    <item>
      <title>Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730312#M227391</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data headlines;
	input story &amp;amp; $200.;
	datalines;
	The president will have to resign for being involved in a political scandal
	The grand jury has handed down indictments against several mobsters
	This is another headline
	;
run;
data terms;
	length word $ 20;
	input word $;
	datalines;
	scandal
	indict
	abuse
	;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Hi , I have two tables .&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) Table A consists a list of news headlines&lt;/P&gt;&lt;P&gt;2) Table B consists a list of terms&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to create a query that select headlines containing terms from a list of terms .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the query I used , I am getting an error saying subquery evaluated to more than one row.&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;select *&lt;BR /&gt;from work.stories&lt;BR /&gt;where titles contains(select term&lt;BR /&gt;from example.searchterms);&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;I want the subquery to generate a list of terms and the outer query to produce headlines containing those terms.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Apr 2021 09:15:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730312#M227391</guid>
      <dc:creator>kaziumair</dc:creator>
      <dc:date>2021-04-01T09:15:29Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730315#M227393</link>
      <description>&lt;P&gt;Try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select *
from work.stories
where titles exists in (select term
from example.searchterms);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 31 Mar 2021 07:11:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730315#M227393</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2021-03-31T07:11:37Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730319#M227395</link>
      <description>Its giving an error</description>
      <pubDate>Wed, 31 Mar 2021 07:52:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730319#M227395</guid>
      <dc:creator>kaziumair</dc:creator>
      <dc:date>2021-03-31T07:52:59Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730321#M227397</link>
      <description>&lt;P&gt;Please supply example data in usable form (data steps with datalines).&lt;/P&gt;
&lt;P&gt;If code throws an ERROR or WARNING, post the log. Use this button for posting logs:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bildschirmfoto 2020-04-07 um 08.32.59.jpg" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/54552i914D97BE1B0F21E5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bildschirmfoto 2020-04-07 um 08.32.59.jpg" alt="Bildschirmfoto 2020-04-07 um 08.32.59.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The "little running man" right next to it is for posting SAS code, particularly your DATALINES code.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Mar 2021 07:56:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730321#M227397</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-03-31T07:56:14Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730322#M227398</link>
      <description>&lt;P&gt;Alternatively and more efficient:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select *
from work.stories as A
where titles in (select B.term
from example.searchterms as B
where A.titles = B.term);
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 31 Mar 2021 07:58:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730322#M227398</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2021-03-31T07:58:18Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730371#M227430</link>
      <description>You should use cartesian product.&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;select *&lt;BR /&gt;from work.stories as a , example.searchterms as b&lt;BR /&gt;where a.titles contains   strip(b.term );&lt;BR /&gt;quit;</description>
      <pubDate>Wed, 31 Mar 2021 12:01:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730371#M227430</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-03-31T12:01:35Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730372#M227431</link>
      <description>&lt;P&gt;Something like this?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data A;&lt;BR /&gt;headline = 'How to do this';&lt;BR /&gt;output;&lt;BR /&gt;headline = 'How not to do this';&lt;BR /&gt;output;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data B;&lt;BR /&gt;term = 'not';&lt;BR /&gt;output;&lt;BR /&gt;term = 'applicable';&lt;BR /&gt;output;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;select distinct headline&lt;BR /&gt;from A inner join B&lt;BR /&gt;on A.headline contains B.term&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Wed, 31 Mar 2021 12:05:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730372#M227431</guid>
      <dc:creator>DaanDNR</dc:creator>
      <dc:date>2021-03-31T12:05:29Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730623#M227534</link>
      <description>I have added sas code for example data</description>
      <pubDate>Thu, 01 Apr 2021 09:16:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730623#M227534</guid>
      <dc:creator>kaziumair</dc:creator>
      <dc:date>2021-04-01T09:16:11Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730624#M227535</link>
      <description>&lt;P&gt;Try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data headlines;
input story &amp;amp; $200.;
datalines;
The president will have to resign for being involved in a political scandal
The grand jury has handed down indictments against several mobsters
This is another headline
;

data terms;
length word $ 20;
input word $;
datalines;
scandal
indict
abuse
;

proc sql noprint;
select nobs into :nobs
from dictionary.tables
where libname = "WORK" and memname = "TERMS";
quit;

data want;
set headlines;
if _n_ = 1
then do;
  array terms {&amp;amp;nobs.} $20 _temporary_;
  do i = 1 to &amp;amp;nobs;
    set terms;
    terms{i} = word;
  end;
end;
do i = 1 to &amp;amp;nobs. until (flag);
  flag = find(story,trim(terms{i}));
end;
if flag;
word = terms{i};
drop flag i;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 01 Apr 2021 09:44:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730624#M227535</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-04-01T09:44:28Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730631#M227537</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;&lt;BR /&gt;select distinct story&lt;BR /&gt;from headlines &lt;BR /&gt;where exists (select 'X' from terms where headlines.story contains kstrip(terms.word) and terms.word in ('indict'))&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;BR /&gt;&lt;BR /&gt;* Alternatively dd mutual variable to prevent cartesian product;&lt;BR /&gt;data headlines;
  input key story &amp;amp; $200.;
  datalines;
  1 The president will have to resign for being involved in a political scandal
  1 The grand jury has handed down indictments against several mobsters
  1 This is another headline
  ;
run;

data terms;
  input key word $20.;
  datalines;
  1 scandal
  1 indict
  1 abuse
  ;
run;

proc sql;
  select distinct story
  from headlines inner join terms
  on headlines.key = terms.key
  where headlines.story contains kstrip(terms.word)
  and kstrip(terms.word) in ('indict')
  ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 01 Apr 2021 10:05:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730631#M227537</guid>
      <dc:creator>DaanDNR</dc:creator>
      <dc:date>2021-04-01T10:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: Generate a list in subquery</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730632#M227538</link>
      <description>Sorry the layout is somewhat scrambled. What I meant to say is that you can use the SQL statement using exists&lt;BR /&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;select distinct story&lt;BR /&gt;from headlines&lt;BR /&gt;where exists (select 'X' from terms where headlines.story contains kstrip(terms.word) and terms.word in ('indict'))&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;BR /&gt;&lt;BR /&gt;or alternatively add a mutual variable to the datasets to prevent the cartesian product.</description>
      <pubDate>Thu, 01 Apr 2021 10:09:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Generate-a-list-in-subquery/m-p/730632#M227538</guid>
      <dc:creator>DaanDNR</dc:creator>
      <dc:date>2021-04-01T10:09:13Z</dc:date>
    </item>
  </channel>
</rss>

