<?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 date merge in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653794#M196386</link>
    <description>&lt;P&gt;Much better Sir&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/331278"&gt;@rajd1&lt;/a&gt;&amp;nbsp;.&amp;nbsp; lol. Thank you!!!. Hmm, you &lt;STRONG&gt;"have"-&lt;EM&gt;'I have the final solution below.'&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you still want the solution or you have done writing it?&lt;/P&gt;</description>
    <pubDate>Fri, 05 Jun 2020 20:02:04 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2020-06-05T20:02:04Z</dc:date>
    <item>
      <title>SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653443#M196290</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;Here is my data. Data A has ID with different lines with start and end dates.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;LINE&lt;/TD&gt;&lt;TD&gt;LOSTART&lt;/TD&gt;&lt;TD&gt;LOEND&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;11/27/2017&lt;/TD&gt;&lt;TD&gt;1/17/2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;12/1/2015&lt;/TD&gt;&lt;TD&gt;4/1/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4/5/2016&lt;/TD&gt;&lt;TD&gt;8/16/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;8/23/2016&lt;/TD&gt;&lt;TD&gt;11/14/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6/4/2016&lt;/TD&gt;&lt;TD&gt;9/18/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;9/19/2016&lt;/TD&gt;&lt;TD&gt;11/11/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5/6/2016&lt;/TD&gt;&lt;TD&gt;7/17/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;7/18/2016&lt;/TD&gt;&lt;TD&gt;10/3/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;11/2/2015&lt;/TD&gt;&lt;TD&gt;5/30/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;5/31/2016&lt;/TD&gt;&lt;TD&gt;12/28/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4/8/2018&lt;/TD&gt;&lt;TD&gt;1/9/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/3/2015&lt;/TD&gt;&lt;TD&gt;6/4/2015&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;6/5/2015&lt;/TD&gt;&lt;TD&gt;12/27/2015&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;8/5/2016&lt;/TD&gt;&lt;TD&gt;9/7/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/12/2015&lt;/TD&gt;&lt;TD&gt;6/2/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;11/7/2016&lt;/TD&gt;&lt;TD&gt;4/20/2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;6/3/2016&lt;/TD&gt;&lt;TD&gt;8/27/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6/5/2016&lt;/TD&gt;&lt;TD&gt;6/15/2016&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Here is data B:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Order&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7/16/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/2/2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7/18/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;7/18/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/26/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;7/31/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7/31/2016&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/10/2016&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The end result table is below. I am looking for the line by the order date.&lt;/P&gt;&lt;P&gt;The rule for the line variable is as follows:&lt;/P&gt;&lt;P&gt;Line = the order date is in between LOstart and LOend; This is pretty straight forward. For example: ID#1 row 1: Line 2 falls between LOstart and&amp;nbsp; LOend. i.e. 7/16/2016 falls between 4/5/2016 and 8/16/2016&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When order date is not in between LOstart and LOend, then&amp;nbsp;Line = before the start of next line.&amp;nbsp;For example: ID#1 row 2: order date 10/2/2017 is considered line 3 because it occurs before the beginning of line 4 LOstart date of 11/27/2018.&lt;/P&gt;&lt;P&gt;Similarly with ID#5 order date is 7/31/2016 is considered line 2 because it occurs before the beginning of line 3 LOstart date of 8/5/2016&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Finally for only 1 order and if this order occurs before LINE 1 then it is considered 0. For Example: ID#7 row 8: Line is considered 0 because the order date of 5/10/2016 occurs before LOSTART date of 6/5/2016.&lt;/P&gt;&lt;P&gt;I tried using SQL and only could get partial results.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Row&lt;/TD&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Order&lt;/TD&gt;&lt;TD&gt;LINE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7/16/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/2/2017&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7/18/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;7/18/2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/26/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;7/31/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7/31/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/10/2016&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thanks a ton!&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 18:50:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653443#M196290</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-05T18:50:15Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653455#M196292</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Finally for only 1 order and if this order occurs before LINE 1 then it is considered 0. For Example: ID#7 row 8: Line is considered 0 because the&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;&lt;U&gt; order date of 5/10/2016&lt;/U&gt; occurs before LOSTART date of 6/5/2016?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;where is this in Data B?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jun 2020 23:26:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653455#M196292</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-04T23:26:26Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653456#M196293</link>
      <description>Yes sir, its the last row in data set B.</description>
      <pubDate>Thu, 04 Jun 2020 23:29:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653456#M196293</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-04T23:29:01Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653459#M196295</link>
      <description>Yes, for some reason the row was missing but i edited it. Thanks</description>
      <pubDate>Thu, 04 Jun 2020 23:55:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653459#M196295</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-04T23:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653461#M196296</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/331278"&gt;@rajd1&lt;/a&gt;&amp;nbsp; Alright no&amp;nbsp;worries. Please try and test properly as I didn't for the reason I'm extremely tired and am about to doze off. If it doesnt&amp;nbsp;work, Iet me know. I shall try and fix it tomoorow. Oh hey, in any case somebody else&amp;nbsp;would have answered before I&amp;nbsp;wake. Good night from CT&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
input ID	LINE	(LOSTART	LOEND) (:mmddyy10.);
format 	LOSTART	LOEND mmddyy10.;
cards;
1	4	11/27/2017	1/17/2018
1	1	12/1/2015	4/1/2016
1	2	4/5/2016	8/16/2016
1	3	8/23/2016	11/14/2016
2	1	6/4/2016	9/18/2016
2	2	9/19/2016	11/11/2016
3	2	5/6/2016	7/17/2016
3	3	7/18/2016	10/3/2016
4	1	11/2/2015	5/30/2016
4	2	5/31/2016	12/28/2016
4	3	4/8/2018	1/9/2019
5	1	4/3/2015	6/4/2015
5	2	6/5/2015	12/27/2015
5	3	8/5/2016	9/7/2016
6	1	10/12/2015	6/2/2016
6	4	11/7/2016	4/20/2017
6	2	6/3/2016	8/27/2016
7	1	6/5/2016	6/15/2016
;

data b;
input ID	Order :mmddyy10.;
format order mmddyy10.;
cards;
1	7/16/2016
1	10/2/2017
2	7/18/2016
3	7/18/2016
4	7/26/2016
5	7/31/2016
6	7/31/2016
7	5/10/2016
;
proc sql;
create table want as
select b.* , ifn(max(line)=1 and order&amp;lt;lostart,0,line) as line
from b b left join a a
on a.id=b.id and (LOSTART&amp;lt;=order&amp;lt;=LOEND or LOSTART&amp;gt;order)
group by a.id,order 
having 	LOSTART&amp;lt;=order&amp;lt;=LOEND or 
^max(LOSTART&amp;lt;=order&amp;lt;=LOEND) and min(lostart)=lostart
order by a.id,order;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Jun 2020 00:03:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653461#M196296</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-05T00:03:49Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653526#M196310</link>
      <description>&lt;P&gt;The rule for ID#5 as well as ID#1 row2, so is the line of ID#5&amp;nbsp; line 3？I am not sure that I understood what you said. Here is my code.&lt;/P&gt;&lt;P&gt;proc sort data=a ;&lt;BR /&gt;by id lostart;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data a1;&lt;BR /&gt;set a;&lt;BR /&gt;by id lostart;&lt;BR /&gt;lostart1=lag(loend)+1;&lt;BR /&gt;if first.id then lostart1=lostart;&lt;BR /&gt;format lagstdat mmddyy10.;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt;create table b1 as&lt;BR /&gt;select b.id,b.order&lt;BR /&gt;,case when not missing(a.line) then a.line&lt;BR /&gt;else 0&lt;BR /&gt;end as line&lt;BR /&gt;from b&lt;BR /&gt;left join a1 as a&lt;BR /&gt;on b.id=a.id and b.order between a.lostart1 and a.loend&lt;BR /&gt;order by b.id,b.order&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 07:44:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653526#M196310</guid>
      <dc:creator>Eigth_Below</dc:creator>
      <dc:date>2020-06-05T07:44:06Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653544#M196318</link>
      <description>&lt;P&gt;According to your rule, the result for ID 5 should be 3, not 2. Please revise your intended result.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 09:29:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653544#M196318</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-06-05T09:29:08Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653546#M196319</link>
      <description>&lt;P&gt;Anyway, try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
infile datalines dlm='09'x dsd truncover;
input ID LINE (LOSTART LOEND) (:mmddyy10.);
format LOSTART LOEND e8601da10.;
cards;
1	4	11/27/2017	1/17/2018
1	1	12/1/2015	4/1/2016
1	2	4/5/2016	8/16/2016
1	3	8/23/2016	11/14/2016
2	1	6/4/2016	9/18/2016
2	2	9/19/2016	11/11/2016
3	2	5/6/2016	7/17/2016
3	3	7/18/2016	10/3/2016
4	1	11/2/2015	5/30/2016
4	2	5/31/2016	12/28/2016
4	3	4/8/2018	1/9/2019
5	1	4/3/2015	6/4/2015
5	2	6/5/2015	12/27/2015
5	3	8/5/2016	9/7/2016
6	1	10/12/2015	6/2/2016
6	4	11/7/2016	4/20/2017
6	2	6/3/2016	8/27/2016
7	1	6/5/2016	6/15/2016
;

data b;
infile datalines dlm='09'x dsd truncover;
input ID Order :mmddyy10.;
format order e8601da10.;
cards;
1	7/16/2016
1	10/2/2017
2	7/18/2016
3	7/18/2016
4	7/26/2016
5	7/31/2016
6	7/31/2016
7	5/10/2016
;

proc sql;
create table want as
  select
    b.id,
    b.order,
    case
      when a.line ne .
      then a.line
      else (
        case
          when b.order lt (select min(a.lostart) from a where a.id=b.id)
          then 0
          else (
            select line
            from a
            where a.id = b.id and b.order le a.lostart
            group by a.id
            having a.lostart = min(a.lostart)
          )
        end
      )
    end as line
  from b left join a
  on a.id = b.id and b.order between a.lostart and a.loend
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It creates your expected result, with the exception of line=3 for id=5.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 09:36:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653546#M196319</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-06-05T09:36:06Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653547#M196320</link>
      <description>&lt;P&gt;And I'd add a provision for an order that falls after the maximum loend:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data b;
infile datalines dlm='09'x dsd truncover;
input ID Order :mmddyy10.;
format order e8601da10.;
cards;
1	7/16/2016
1	10/2/2017
2	7/18/2016
3	7/18/2016
4	7/26/2016
5	7/31/2016
6	7/31/2016
7	5/10/2016
7	5/10/2017
;

proc sql;
create table want as
  select
    b.id,
    b.order,
    case
      when a.line ne .
      then a.line
      else (
        case
          when b.order lt (select min(a.lostart) from a where a.id = b.id)
          then 0
          when b.order gt (select max(a.loend) from a where a.id = b.id)
          then 99999999
          else (
            select line
            from a
            where a.id = b.id and b.order le a.lostart
            group by a.id
            having a.lostart = min(a.lostart)
          )
        end
      )
    end as line
  from b left join a
  on a.id = b.id and b.order between a.lostart and a.loend
  order by id, order
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Jun 2020 09:42:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653547#M196320</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-06-05T09:42:49Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653757#M196368</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;, Thanks for this. Just a subtle change that i was looking for:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When order date is not in between LOstart and LOend, then&amp;nbsp;Line = before the start of next line.&amp;nbsp;For example: ID#1 row 2: order date 10/2/2017 is considered line 3 because it occurs before the beginning of line 4 LOstart date of 11/27/2018.&lt;/P&gt;&lt;P&gt;Similarly with ID#5 order date is 7/31/2016 is considered line 2 because it occurs before the beginning of line 3 LOstart date of 8/5/2016&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 18:51:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653757#M196368</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-05T18:51:07Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653758#M196369</link>
      <description>Hi, This works great.&lt;BR /&gt;I need a subtle change:&lt;BR /&gt;When order date is not in between LOstart and LOend, then&amp;nbsp;Line = before the start of next line.&amp;nbsp;For example: ID#1 row 2: order date 10/2/2017 is considered line 3 because it occurs before the beginning of line 4 LOstart date of 11/27/2018.&lt;BR /&gt;&lt;BR /&gt;Similarly with ID#5 order date is 7/31/2016 is considered line 2 because it occurs before the beginning of line 3 LOstart date of 8/5/2016</description>
      <pubDate>Fri, 05 Jun 2020 18:54:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653758#M196369</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-05T18:54:31Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653761#M196371</link>
      <description>Thank you so much for this!&lt;BR /&gt;Just a little edit:&lt;BR /&gt;line=3 for id=1 row 2 and line=2 for id=5&lt;BR /&gt;&lt;BR /&gt;when order date is not in between LOstart and LOend, then Line = before the start of next line. For example: ID#1 row 2: order date 10/2/2017 is considered line 3 because it occurs before the beginning of line 4 LOstart date of 11/27/2018.&lt;BR /&gt;Similarly with ID#5 order date is 7/31/2016 is considered line 2 because it occurs before the beginning of line 3 LOstart date of 8/5/2016</description>
      <pubDate>Fri, 05 Jun 2020 19:01:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653761#M196371</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-05T19:01:26Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653771#M196376</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/331278"&gt;@rajd1&lt;/a&gt;&amp;nbsp; Good afternoon. I guess there is some problem in the communication or perhaps I am just lacking the comprehension skill. Let's do in piecemeal-&lt;/P&gt;
&lt;P&gt;1. Once you JOIN/LOOK UP using self join, the sql processor see's this in-memory. The true flag =1 denotes the order falls between lostart and loend. So for these ID,Order combinations, it's easy to filter i.e. where true_flag=1. And for those cases, where it isn't true, your statement line= before the start of next line- is kinda confusing. Please explain the comparsion for ID1 10/02/2017 from the below&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.W" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;Order&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;LINE&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;True_Flag&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;LOSTART&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;LOEND&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;07/16/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;12/01/2015&lt;/TD&gt;
&lt;TD class="r data"&gt;04/01/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;07/16/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;04/05/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;08/16/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;07/16/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;08/23/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;11/14/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;07/16/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;11/27/2017&lt;/TD&gt;
&lt;TD class="r data"&gt;01/17/2018&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;10/02/2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;12/01/2015&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;04/01/2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;10/02/2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;04/05/2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;08/16/2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;10/02/2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;3&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;08/23/2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;11/14/2016&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;10/02/2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;4&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;11/27/2017&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="r data"&gt;&lt;STRONG&gt;&lt;FONT color="#008000"&gt;01/17/2018&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;07/18/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;06/04/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;09/18/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;07/18/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;09/19/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;11/11/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;07/18/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;05/06/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;07/17/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;07/18/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;07/18/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;10/03/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;07/26/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;11/02/2015&lt;/TD&gt;
&lt;TD class="r data"&gt;05/30/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;07/26/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;05/31/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;12/28/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;07/26/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;04/08/2018&lt;/TD&gt;
&lt;TD class="r data"&gt;01/09/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;07/31/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;04/03/2015&lt;/TD&gt;
&lt;TD class="r data"&gt;06/04/2015&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;07/31/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;06/05/2015&lt;/TD&gt;
&lt;TD class="r data"&gt;12/27/2015&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;07/31/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;08/05/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;09/07/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;07/31/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;10/12/2015&lt;/TD&gt;
&lt;TD class="r data"&gt;06/02/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;07/31/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;06/03/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;08/27/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;07/31/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;11/07/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;04/20/2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;TD class="r data"&gt;05/10/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;06/05/2016&lt;/TD&gt;
&lt;TD class="r data"&gt;06/15/2016&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 05 Jun 2020 19:24:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653771#M196376</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-05T19:24:27Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653790#M196385</link>
      <description>&lt;P&gt;Good afternoon,&lt;BR /&gt;This is great! Hope i explain this better this time. The first rule between dates is good&lt;BR /&gt;So, say for ID#1 orderdate= 10/02/2017 will be Line = 3; It falls between line 3 LOEND 11/14/2016 and line 4 LOSTART 11/27/2017 and is still considered line 3.&lt;BR /&gt;Again, for ID#5, orderdate = 7/31/2016 will be line 2; it falls between line 2 LOEND 12/27/2015 and line 3 LOSTART 08.05/2016 and is still considered line 2.&lt;BR /&gt;You had this in the solution and it works great: If order occurs before LINE 1 then it is considered 0. For Example: ID#7 row 8: Line is considered 0 because the order date of 5/10/2016 occurs before LOSTART date of 6/5/2016.&lt;BR /&gt;I have the final solution below.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Order&lt;/TD&gt;&lt;TD&gt;LINE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7/16/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;10/2/2017&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;7/18/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;7/18/2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;7/26/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;7/31/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7/31/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;5/10/2016&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 19:57:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653790#M196385</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-05T19:57:33Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653794#M196386</link>
      <description>&lt;P&gt;Much better Sir&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/331278"&gt;@rajd1&lt;/a&gt;&amp;nbsp;.&amp;nbsp; lol. Thank you!!!. Hmm, you &lt;STRONG&gt;"have"-&lt;EM&gt;'I have the final solution below.'&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you still want the solution or you have done writing it?&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 20:02:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653794#M196386</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-05T20:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653795#M196387</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/138205"&gt;@novinosrin&lt;/a&gt;&amp;nbsp;Can I please get your modified code? Thank you sir &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 20:28:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653795#M196387</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-05T20:28:43Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653810#M196388</link>
      <description>&lt;P&gt;Okay&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/331278"&gt;@rajd1&lt;/a&gt;&amp;nbsp; Keeping it simple-&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data a;
input ID	LINE	(LOSTART	LOEND) (:mmddyy10.);
format 	LOSTART	LOEND mmddyy10.;
cards;
1	4	11/27/2017	1/17/2018
1	1	12/1/2015	4/1/2016
1	2	4/5/2016	8/16/2016
1	3	8/23/2016	11/14/2016
2	1	6/4/2016	9/18/2016
2	2	9/19/2016	11/11/2016
3	2	5/6/2016	7/17/2016
3	3	7/18/2016	10/3/2016
4	1	11/2/2015	5/30/2016
4	2	5/31/2016	12/28/2016
4	3	4/8/2018	1/9/2019
5	1	4/3/2015	6/4/2015
5	2	6/5/2015	12/27/2015
5	3	8/5/2016	9/7/2016
6	1	10/12/2015	6/2/2016
6	4	11/7/2016	4/20/2017
6	2	6/3/2016	8/27/2016
7	1	6/5/2016	6/15/2016
;

data b;
input ID	Order :mmddyy10.;
format order mmddyy10.;
cards;
1	7/16/2016
1	10/2/2017
2	7/18/2016
3	7/18/2016
4	7/26/2016
5	7/31/2016
6	7/31/2016
7	5/10/2016
;

proc sql;
create table temp(drop=_True_Flag) as
select b.id,order,max(LOSTART&amp;lt;=order&amp;lt;=LOEND) as _True_Flag,line,
min(ifn(lostart&amp;gt;order,line,.))-1 as _line
from b b left join a a
on a.id=b.id 
group by a.id,order 
having _True_Flag and LOSTART&amp;lt;=order&amp;lt;=LOEND
or (not _True_Flag and _line=line)
or (line=1 and _line=0 and not _True_Flag)
order by a.id,order,line;
quit;

data want;
 set temp;
 if line=1 and _line=0 then line=_line;
 drop _line;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ID Order LINE 
1 07/16/2016 2 
1 10/02/2017 3 
2 07/18/2016 1 
3 07/18/2016 3 
4 07/26/2016 2 
5 07/31/2016 2 
6 07/31/2016 2 
7 05/10/2016 0 

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Jun 2020 21:59:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653810#M196388</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-06-05T21:59:05Z</dc:date>
    </item>
    <item>
      <title>Re: SQL date merge</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653813#M196390</link>
      <description>Works fantastic , thanks a lot</description>
      <pubDate>Fri, 05 Jun 2020 22:33:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SQL-date-merge/m-p/653813#M196390</guid>
      <dc:creator>rajd1</dc:creator>
      <dc:date>2020-06-05T22:33:41Z</dc:date>
    </item>
  </channel>
</rss>

