<?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 LEFT JOIN using WHERE in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/LEFT-JOIN-using-WHERE/m-p/215619#M69035</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;I have a question about a join query. I have two tables, one has data of clients (with a start date en end date of the customer) and a table with months (or weeks, I will use the month table in this example).&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Clients:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;LOAD * INLINE [&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Client, StartDate, EndDate&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;10, 1-1-2010, 25-2-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20, 2-1-2010, 13-3-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;];&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Months:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;LOAD * INLINE [&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Month, FistDay, LastDay&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Jan, 1-1-2010, 31-1-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Febr, 1-2-2010, 28-2-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Mar, 1-3-2010, 31-3-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;];&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;I would like to create a query like:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;SELECT&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;c.Client&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;, c.StartDate&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;, c.EndDate&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;, m.Month&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;FROM Clients c&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;LEFT OUTER JOIN Months m ON&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;c.StartDate &amp;lt;= m.LastDay AND&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;c.EndDate &amp;gt;= m.FirstDay&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;The result should be like:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Client StartDate EndDate Month&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;10 1-1-2010 25-2-2010 Jan&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;10 1-1-2010 25-2-2010 Feb&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20 2-1-2010 13-3-2010 Jan&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20 2-1-2010 13-3-2010 Feb&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20 2-1-2010 13-3-2010 Mar&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;The query works fine on a SQL server. Problem is that my tables are QlikView tables (via QVD or RESIDENT LOAD) and I do not have a connection to the SQL server.&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;What is the best way to do this in QlikView? The solution that I found was creating a key field in both tables with value 0. Then join both tables to a temptable. Then RESIDENT LOAD with a filter on the data (StartDate &amp;lt;= LastDay AND EndDate &amp;gt;= FirstDay). The problem with my solution is that it first creates a lot of records in the temptable.&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Is there a better way to script that in QlikView?&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Thanks in advance!&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Cheers,&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Werner&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 07 Dec 2010 14:21:30 GMT</pubDate>
    <dc:creator>wernerprovelu</dc:creator>
    <dc:date>2010-12-07T14:21:30Z</dc:date>
    <item>
      <title>LEFT JOIN using WHERE</title>
      <link>https://community.qlik.com/t5/QlikView/LEFT-JOIN-using-WHERE/m-p/215619#M69035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;I have a question about a join query. I have two tables, one has data of clients (with a start date en end date of the customer) and a table with months (or weeks, I will use the month table in this example).&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Clients:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;LOAD * INLINE [&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Client, StartDate, EndDate&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;10, 1-1-2010, 25-2-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20, 2-1-2010, 13-3-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;];&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Months:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;LOAD * INLINE [&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Month, FistDay, LastDay&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Jan, 1-1-2010, 31-1-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Febr, 1-2-2010, 28-2-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Mar, 1-3-2010, 31-3-2010&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;];&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;I would like to create a query like:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;SELECT&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;c.Client&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;, c.StartDate&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;, c.EndDate&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;, m.Month&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;FROM Clients c&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;LEFT OUTER JOIN Months m ON&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;c.StartDate &amp;lt;= m.LastDay AND&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;c.EndDate &amp;gt;= m.FirstDay&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;The result should be like:&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Client StartDate EndDate Month&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;10 1-1-2010 25-2-2010 Jan&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;10 1-1-2010 25-2-2010 Feb&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20 2-1-2010 13-3-2010 Jan&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20 2-1-2010 13-3-2010 Feb&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;20 2-1-2010 13-3-2010 Mar&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;The query works fine on a SQL server. Problem is that my tables are QlikView tables (via QVD or RESIDENT LOAD) and I do not have a connection to the SQL server.&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;What is the best way to do this in QlikView? The solution that I found was creating a key field in both tables with value 0. Then join both tables to a temptable. Then RESIDENT LOAD with a filter on the data (StartDate &amp;lt;= LastDay AND EndDate &amp;gt;= FirstDay). The problem with my solution is that it first creates a lot of records in the temptable.&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Is there a better way to script that in QlikView?&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Thanks in advance!&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Cheers,&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;Werner&lt;/P&gt;&lt;P class="MsoNoSpacing"&gt;&lt;/P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 14:21:30 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/LEFT-JOIN-using-WHERE/m-p/215619#M69035</guid>
      <dc:creator>wernerprovelu</dc:creator>
      <dc:date>2010-12-07T14:21:30Z</dc:date>
    </item>
    <item>
      <title>LEFT JOIN using WHERE</title>
      <link>https://community.qlik.com/t5/QlikView/LEFT-JOIN-using-WHERE/m-p/215620#M69036</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;If i am able to understand this will help you to solve your problem.&lt;/P&gt;&lt;P&gt;Clients:&lt;/P&gt;&lt;P&gt;LOAD * INLINE [&lt;/P&gt;&lt;P&gt;Client, StartDate, EndDate&lt;/P&gt;&lt;P&gt;10, 1-1-2010, 25-2-2010&lt;/P&gt;&lt;P&gt;20, 2-1-2010, 13-3-2010&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;left join&lt;/P&gt;&lt;P&gt;LOAD * INLINE [&lt;/P&gt;&lt;P&gt;Month, FistDay, LastDay&lt;/P&gt;&lt;P&gt;Jan, 1-1-2010, 31-1-2010&lt;/P&gt;&lt;P&gt;Febr, 1-2-2010, 28-2-2010&lt;/P&gt;&lt;P&gt;Mar, 1-3-2010, 31-3-2010&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Test:&lt;BR /&gt;Load *&lt;BR /&gt;Resident Clients where StartDate &amp;lt;=LastDay and EndDate&amp;gt;=FistDay;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 14:39:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/LEFT-JOIN-using-WHERE/m-p/215620#M69036</guid>
      <dc:creator />
      <dc:date>2010-12-07T14:39:21Z</dc:date>
    </item>
    <item>
      <title>LEFT JOIN using WHERE</title>
      <link>https://community.qlik.com/t5/QlikView/LEFT-JOIN-using-WHERE/m-p/215621#M69037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ravi,&lt;/P&gt;&lt;P&gt;Thanx for your answer.&lt;/P&gt;&lt;P&gt;After the left join (before Test:), there could be a lot of records (not in this example, but with 50.000 clients and 4 years (208 weeks) there are more then 10M records). That could give some memory issues.&lt;/P&gt;&lt;P&gt;Werner&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Dec 2010 14:58:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/LEFT-JOIN-using-WHERE/m-p/215621#M69037</guid>
      <dc:creator>wernerprovelu</dc:creator>
      <dc:date>2010-12-07T14:58:13Z</dc:date>
    </item>
  </channel>
</rss>

