<?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: SQL to SAS - Having Trouble in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210813#M267384</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I agree with @Reeza that this looks like a Proc Transpose; but if you want to go for a "least code change" approach then something as below should work as well. What you will need to define in below code are SAS Libnames to the database tables so that you reference them correctly within SAS SQL. Eg. for "&lt;SPAN style="font-size: 13.3333330154419px;"&gt;&lt;STRONG&gt;DATABASENAME.dbo.&lt;/STRONG&gt;REFERRAL" you need to define a SAS Libname and then use the libref so in the SQL it needs to be something like "mylib.REFERRAL".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Are you already able to access the tables as such via SAS? If so then the librefs exist already (eg. as SAS metadata definitions) and you could use these.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table TEMP_PROC as&lt;/P&gt;&lt;P&gt;&amp;nbsp; SELECT PX.REFERRAL_ID length=8,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 1 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 1 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 2 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_2length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 2 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_2length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 3 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_3length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 3 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_3length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 4 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_4length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 4 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_4length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 5 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_5length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 5 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_5length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 6 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_6length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 6 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_6length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 7 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_7length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 7 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_7 length=250&lt;/P&gt;&lt;P&gt;&amp;nbsp; FROM DATABASENAME.dbo.REFERRAL R&lt;/P&gt;&lt;P&gt;&amp;nbsp; LEFT JOIN REFERRAL_PX AS PX ON R.REFERRAL_ID = PX.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp; LEFT JOIN DATA_EAP AS EAP ON PX.PX_ID = EAP.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp; WHERE R.START_DATE &amp;gt;= '01Jun2015'd&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND START_DATE &amp;lt;= '30Jun2015'd&lt;/P&gt;&lt;P&gt;&amp;nbsp; GROUP BY PX.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 28 Jul 2015 09:58:07 GMT</pubDate>
    <dc:creator>Patrick</dc:creator>
    <dc:date>2015-07-28T09:58:07Z</dc:date>
    <item>
      <title>SQL to SAS - Having Trouble</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210810#M267381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Okay, I do not know SQL, and I am fairly new to SAS. I have been tasked with converting this SQL code into SAS. I am only going to include the top part that is REALLY stumping me. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" height="751" style="width: 815px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xl65" height="20" width="815"&gt;REFERRALS&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;DECLARE @TEMP_PROC1 TABLE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; (REFERRAL_ID INT, PROC_CD VARCHAR(25), PROC_NAME VARCHAR(250), &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; PROC_CD_2 VARCHAR(25), PROC_NAME_2 VARCHAR(250), PROC_CD_3 VARCHAR(25), PROC_NAME_3 VARCHAR(250),&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; PROC_CD_4 VARCHAR(25), PROC_NAME_4 VARCHAR(250), PROC_CD_5 VARCHAR(25), PROC_NAME_5 VARCHAR(250),&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; PROC_CD_6 VARCHAR(25), PROC_NAME_6 VARCHAR(250), PROC_CD_7 VARCHAR(25), PROC_NAME_7 VARCHAR(250))&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;INSERT INTO @TEMP_PROC1 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;SELECT PX.REFERRAL_ID,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 1 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 1 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 2 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_2,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 2 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_2,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 3 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_3,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 3 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_3,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 4 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_4,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 4 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_4,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 5 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_5,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 5 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_5,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 6 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_6,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 6 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_6,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 7 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_7,&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; MAX((CASE WHEN PX.LINE = 7 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;FROM DATABASENAME.dbo.REFERRAL R&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; LEFT JOIN REFERRAL_PX AS PX ON R.REFERRAL_ID = PX.REFERRAL_ID&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; LEFT JOIN DATA_EAP AS EAP ON PX.PX_ID = EAP.PROC_ID &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt;WHERE R.START_DATE &amp;gt;= '06/01/2015'&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; AND START_DATE &amp;lt;= '06/30/2015'&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD height="20"&gt; GROUP BY PX.REFERRAL_ID&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Okay. So the PROC_CODE and PROC_NAME are each one field. The LINE field shows a value anywhere from 1 to 7. Basically, they have taken the LINE and said "okay, if LINE is 1, then show the PROC_CODE and PROC_NAME for the first occurrence. Then, do this for LINE 2 and make a new field called PROC_CODE_2 and PROC_NAME_2 and so on...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any guidance is appreciated, and I am willing to give more info if needed. But that is the part that I can't seem to convert.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jul 2015 18:25:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210810#M267381</guid>
      <dc:creator>emmytheduck</dc:creator>
      <dc:date>2015-07-24T18:25:47Z</dc:date>
    </item>
    <item>
      <title>Re: SQL to SAS - Having Trouble</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210811#M267382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like a transpose to me. It may be worth using a proc transpose instead. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Take a look at the input and output data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jul 2015 19:21:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210811#M267382</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-07-24T19:21:25Z</dc:date>
    </item>
    <item>
      <title>Re: SQL to SAS - Having Trouble</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210812#M267383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try looking at it this way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;/P&gt;&lt;P&gt;CREATE TABLE TEMP_PROC1 AS&lt;/P&gt;&lt;P&gt;SELECT PX.REFERRAL_ID,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 1 THEN EAP.PROC_CODE ELSE '' END AS PROC_CD,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 1 THEN EAP.PROC_NAME ELSE '' END AS PROC_NAME,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 2 THEN EAP.PROC_CODE ELSE '' END AS PROC_CD_2,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 2 THEN EAP.PROC_NAME ELSE '' END AS PROC_NAME_2,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 3 THEN EAP.PROC_CODE ELSE '' END AS PROC_CD_3,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 3 THEN EAP.PROC_NAME ELSE '' END AS PROC_NAME_3,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 4 THEN EAP.PROC_CODE ELSE '' END AS PROC_CD_4,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 4 THEN EAP.PROC_NAME ELSE '' END AS PROC_NAME_4,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 5 THEN EAP.PROC_CODE ELSE '' END AS PROC_CD_5,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 5 THEN EAP.PROC_NAME ELSE '' END AS PROC_NAME_5,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 6 THEN EAP.PROC_CODE ELSE '' END AS PROC_CD_6,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 6 THEN EAP.PROC_NAME ELSE '' END AS PROC_NAME_6,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 7 THEN EAP.PROC_CODE ELSE '' END AS PROC_CD_7,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; CASE WHEN PX.LINE = 7 THEN EAP.PROC_NAME ELSE '' END AS PROC_NAME_7&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;FROM DATABASENAME.dbo.REFERRAL R&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;LEFT JOIN REFERRAL_PX AS PX ON R.REFERRAL_ID = PX.REFERRAL_ID&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;LEFT JOIN DATA_EAP AS EAP ON PX.PX_ID = EAP.PROC_ID&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;WHERE R.START_DATE &amp;gt;= '06/01/2015'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;AND START_DATE &amp;lt;= '06/30/2015';&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Then followed by a group By&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;/P&gt;&lt;P&gt;CREATE TABLE TEMP_PROC2 AS&lt;/P&gt;&lt;P&gt;SELECT REFERRAL_ID,&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_CD) AS PROC_CD,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_NAME) as PROC_NAME,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_CD_2) AS PROC_CD_2,&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_NAME_2) as PROC_NAME_2,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_CD_3) AS PROC_CD_3,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_NAME_3) as PROC_NAME_3,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_CD_4) AS PROC_CD_4,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_NAME_4) as PROC_NAME_4,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_CD_5) AS PROC_CD_5,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_NAME_5) as PROC_NAME_5,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_CD_6) AS PROC_CD_6,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_NAME_6) as PROC_NAME_6,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_CD_7) AS PROC_CD_7,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&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; MAX(PROC_NAME_7) as PROC_NAME_7,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;FROM TEMP_PROC1&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;The original author is using the aggregate (MAX) with a group by to collapse seven rows of data into one while retaining the proc_cd and name values.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;TEMP_PROC1 looks like:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;REFERRAL_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_CD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_CD_2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_CD_3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_NAME ....&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;012345&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; V935&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; Surgery&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;012345&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;&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; N0032&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; Anesthesia&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;012345&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;&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;&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;&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; V4333&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; Appendectomy&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Which when aggregated (MAX) by REFERRAL_ID in TEMP_PROC2, becomes this:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;REFERRAL_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_CD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_CD_2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_CD_3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROC_NAME ....&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;012345&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; V935&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; Surgery&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;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;N0032&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; Anesthesia&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;V4333&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; Appendectomy&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt; line-height: 1.5em;"&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;&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;&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;&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;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jul 2015 01:44:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210812#M267383</guid>
      <dc:creator>Sonywell</dc:creator>
      <dc:date>2015-07-28T01:44:43Z</dc:date>
    </item>
    <item>
      <title>Re: SQL to SAS - Having Trouble</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210813#M267384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I agree with @Reeza that this looks like a Proc Transpose; but if you want to go for a "least code change" approach then something as below should work as well. What you will need to define in below code are SAS Libnames to the database tables so that you reference them correctly within SAS SQL. Eg. for "&lt;SPAN style="font-size: 13.3333330154419px;"&gt;&lt;STRONG&gt;DATABASENAME.dbo.&lt;/STRONG&gt;REFERRAL" you need to define a SAS Libname and then use the libref so in the SQL it needs to be something like "mylib.REFERRAL".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Are you already able to access the tables as such via SAS? If so then the librefs exist already (eg. as SAS metadata definitions) and you could use these.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp; create table TEMP_PROC as&lt;/P&gt;&lt;P&gt;&amp;nbsp; SELECT PX.REFERRAL_ID length=8,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 1 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 1 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 2 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_2length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 2 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_2length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 3 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_3length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 3 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_3length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 4 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_4length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 4 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_4length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 5 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_5length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 5 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_5length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 6 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_6length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 6 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_6length=250,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 7 THEN EAP.PROC_CODE ELSE '' END)) AS PROC_CD_7length=25,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX((CASE WHEN PX.LINE = 7 THEN EAP.PROC_NAME ELSE '' END)) AS PROC_NAME_7 length=250&lt;/P&gt;&lt;P&gt;&amp;nbsp; FROM DATABASENAME.dbo.REFERRAL R&lt;/P&gt;&lt;P&gt;&amp;nbsp; LEFT JOIN REFERRAL_PX AS PX ON R.REFERRAL_ID = PX.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp; LEFT JOIN DATA_EAP AS EAP ON PX.PX_ID = EAP.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp; WHERE R.START_DATE &amp;gt;= '01Jun2015'd&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND START_DATE &amp;lt;= '30Jun2015'd&lt;/P&gt;&lt;P&gt;&amp;nbsp; GROUP BY PX.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jul 2015 09:58:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210813#M267384</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-07-28T09:58:07Z</dc:date>
    </item>
    <item>
      <title>Re: SQL to SAS - Having Trouble</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210814#M267385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you everyone for the input. However, I ended up doing things a bit differently...I was able to get the entire thing into one PROC SQL. It looks something like this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table Referrals as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select a.REFERRAL_ID, a.ENTRY_DATE, a.START_DATE, a.SERV_DATE, s.NAME AS RFL_STATUS label='RFL_STATUS', r.NAME AS RFL_TYPE label='RFL_TYPE',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; q1.PROV_NAME as PCP_NAME label='PCP_NAME', q.PROV_NAME as REFERRING_PROV label='REFERRING_PROV', &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; q2.PROV_NAME as REFERRED_TO_PROV label='REFERRED_TO_PROV', p.VENDOR_NAME AS REFERRED_TO_VENDOR label='REFERRED_TO_VENDOR', a.PAT_ID, t.PAT_NAME,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i.PROC_CODE as PROC_CODE_1 label='PROC_CODE_1', i.PROC_NAME as PROC_NAME_1 label='PROC_NAME_1',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j.PROC_CODE as PROC_CODE_2 label='PROC_CODE_2', j.PROC_NAME as PROC_NAME_2 label='PROC_NAME_2',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k.PROC_CODE as PROC_CODE_3 label='PROC_CODE_3', k.PROC_NAME as PROC_NAME_3 label='PROC_NAME_3',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; l.PROC_CODE as PROC_CODE_4 label='PROC_CODE_4', l.PROC_NAME as PROC_NAME_4 label='PROC_NAME_4',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m.PROC_CODE as PROC_CODE_5 label='PROC_CODE_5', m.PROC_NAME as PROC_NAME_5 label='PROC_NAME_5',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n.PROC_CODE as PROC_CODE_6 label='PROC_CODE_6', n.PROC_NAME as PROC_NAME_6 label='PROC_NAME_6',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; o.PROC_CODE as PROC_CODE_7 label='PROC_CODE_7', o.PROC_NAME as PROC_NAME_7 label='PROC_NAME_7'&lt;/P&gt;&lt;P&gt;from (select * from database.referral where datepart(START_DATE) &amp;gt;= '01-JUL-2015'd and datepart(START_DATE) &amp;lt;= '30-JUL-2015'd and RFL_STATUS_C ne 4) a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join (select * from database.referral_px where line = 1) b on a.REFERRAL_ID = b.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join (select * from database.referral_px where line = 2) c on a.REFERRAL_ID = c.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join (select * from database.referral_px where line = 3) d on a.REFERRAL_ID = d.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join (select * from database.referral_px where line = 4) e on a.REFERRAL_ID = e.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join (select * from database.referral_px where line = 5) f on a.REFERRAL_ID = f.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join (select * from database.referral_px where line = 6) g on a.REFERRAL_ID = g.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join (select * from database.referral_px where line = 7) h on a.REFERRAL_ID = h.REFERRAL_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_eap i on b.PX_ID = i.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_eap j on c.PX_ID = j.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_eap k on d.PX_ID = k.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_eap l on e.PX_ID = l.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_eap m on f.PX_ID = m.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_eap n on g.PX_ID = n.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_eap o on h.PX_ID = o.PROC_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_VENDOR p on a.VENDOR_ID = p.VENDOR_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_SER q on a.REFERRING_PROV_ID = q.PROV_ID &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_SER q1 on a.PCP_PROV_ID = q1.PROV_ID &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.cl_SER q2 on a.REFERRAL_PROV_ID = q2.PROV_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.ZC_RFL_TYPE r on a.RFL_TYPE_C = r.RFL_TYPE_C&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.ZC_RFL_STATUS s on a.RFL_STATUS_C = s.RFL_STATUS_C&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left join database.PATIENT t on a.PAT_ID = t.PAT_ID;&lt;/P&gt;&lt;P&gt;&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;There were obviously QUITE a few tables that I needed to add in to get all of my fields. The code works perfectly and produces exactly what I need. Though, I'm still going to try some of the above methods!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jul 2015 14:05:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-to-SAS-Having-Trouble/m-p/210814#M267385</guid>
      <dc:creator>emmytheduck</dc:creator>
      <dc:date>2015-07-28T14:05:22Z</dc:date>
    </item>
  </channel>
</rss>

