<?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 Passthrough DB2 - WITH clause problem in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632805#M18981</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/272679"&gt;@saraimi&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Thanks for illuminating my&amp;nbsp;blind spot!&amp;nbsp; This works fine until I include one of the columns involving PARTITION OVER.&amp;nbsp; I'll dig into the details of that syntax.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;What type of variable is&amp;nbsp;&lt;SPAN&gt;eng_serial_number ?&amp;nbsp; Perhaps it is a BIGINT or other data type that SAS does not support.&amp;nbsp; If so cast it as FLOAT or VARCHAR().&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Note that SAS only has two data types, floating point numbers and fixed length character strings.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 17 Mar 2020 21:29:05 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2020-03-17T21:29:05Z</dc:date>
    <item>
      <title>SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631678#M18943</link>
      <description>&lt;P&gt;I cannot get this query to run.&amp;nbsp; I've tried a lot of variations on this query - mostly trying either the WITH clause or an inline query.&amp;nbsp; I can use the SQL passthrough to DB2 with simpler queries, so I've left it out of the examples.&amp;nbsp; I've googled the error message, DB2 "WITH Clause", "common table expression", "CTE", and various combinations, and none of the dozens of results had anything that helps me resolve the issue.&amp;nbsp; I've also tried the inner query alone - that works.&amp;nbsp; I've tried these variants in another query tool, and have gotten the same results.&amp;nbsp; I know that means it's not a SAS problem, but I'm hoping someone can help, or point me to any useful documentation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;WITH clause VERSION:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; WITH inner_query AS&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (SELECT&lt;FONT&gt; oc.clm_cd, p.prod_ser_no, p.bld_date, p.vin,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.in_srvc_date, p.in_srvc_trk_mlg,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; year(p.in_srvc_date) as in_service_year,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case when p.prod_type_cd = 'ENGINE'&lt;BR /&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; then p.prod_ser_no else '' end as eng_serial_number,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case when p.prod_type_cd = 'ENGINE'&lt;BR /&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; then p.prod_mdl_cd else '' end as eng_model,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.prod_mdl_cd, p.voc_cd,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.prod_make_cd, p.prod_mdl_cd as fllc_internal_model,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.prod_fam_cd, p.chass_mdl_cd, oc.flt_cd,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oc.flt_name, oc.fail_date, oc.trk_mlg_amt,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; case when cfa.new_maj_comp_ser is not null&lt;BR /&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; then oc.trk_mlg_amt else 0 end as eng_repl_mileage,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; case when cfa.new_maj_comp_ser is not null&lt;BR /&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; then oc.fail_date else '12-31-2999' end as eng_repl_date&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; FROM wty_ddc.claims_fact_ddc_v oc&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; INNER JOIN wty_ddc.product_dim_v p&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ON oc.prod_id = p.prod_id&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; INNER JOIN wty_ddc.claims_fact_attr_ddc_v cfa&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ON cfa.clm_id = oc.clm_id&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; WHERE trk_mlg_amt is not null and trk_mlg_amt &amp;gt; 0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; and prod_type_cd in ('ENGINE','CHASSIS') &lt;/FONT&gt;)&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;&amp;nbsp;&amp;nbsp; SELECT&amp;nbsp; clm_cd, prod_ser_no, bld_date, vin,&amp;nbsp; /*POST EDITED TO REMOVE TABLE ALIAS Q. from clm_cd */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in_srvc_date, in_srvc_trk_mlg,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in_service_year,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prod_mdl_cd, voc_cd,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prod_make_cd, fllc_internal_model,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prod_fam_cd, chass_mdl_cd, flt_cd,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flt_name, fail_date, trk_mlg_amt,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; eng_repl_mileage,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; eng_repl_date,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; max(eng_serial_number) OVER PARTITION BY (vin) as eng_serial_number,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; max(eng_model) OVER PARTITION BY (vin) as eng_model&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; FROM inner_query&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; ORDER BY vin, fail_date desc;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;ERROR: CLI describe error: [IBM][CLI Driver][DB2/AIX64] SQL0104N&amp;nbsp; An unexpected token "clm_cd, prod_ser_no,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bld_date, vin, in_sr" was found following "il_date desc) select".&amp;nbsp; Expected tokens may include:&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;space&amp;gt;".&amp;nbsp; SQLSTATE=42601&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;(My interpretation is that it objects to the outer query.&amp;nbsp; If I remove the columns list with "select * from inner_query" leaving the order by clause, THIS DOES WORK.&amp;nbsp; But there's no need for the WITH clause in that case - it's superfluous.&amp;nbsp; Anyway, part of the work I want to do here requires that PARTITION OVER feature.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;INLINE QUERY VERSION:&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;&amp;nbsp; &amp;nbsp; SELECT clm_cd, prod_ser_no, bld_date, vin, &amp;nbsp;&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: #ffffff; color: #333333; font-family: 'HelevticaNeue-light','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;/*POST EDITED TO REMOVE TABLE ALIAS Q. from clm_cd */&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in_srvc_date, in_srvc_trk_mlg,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in_service_year,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prod_mdl_cd, voc_cd,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prod_make_cd, fllc_internal_model,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prod_fam_cd, chass_mdl_cd, flt_cd,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flt_name, fail_date, trk_mlg_amt,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eng_repl_mileage,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eng_repl_date,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max(eng_serial_number) OVER PARTITION BY (vin) as eng_serial_number,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max(eng_model) OVER PARTITION BY (vin) as eng_model&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; FROM (SELECT oc.clm_cd, p.prod_ser_no, p.bld_date, p.vin,&lt;BR /&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; p.in_srvc_date, p.in_srvc_trk_mlg,&lt;BR /&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; year(p.in_srvc_date) as in_service_year,&lt;BR /&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; case when p.prod_type_cd = 'ENGINE'&lt;BR /&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; then p.prod_ser_no else '' end as eng_serial_number,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;FONT&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/FONT&gt;case when p.prod_type_cd = 'ENGINE'&lt;BR /&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;&lt;FONT&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/FONT&gt; then p.prod_mdl_cd else '' end as eng_model,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;FONT&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/FONT&gt;p.prod_mdl_cd, p.voc_cd,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;FONT&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/FONT&gt;p.prod_make_cd, p.prod_mdl_cd as fllc_internal_model,&lt;BR /&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; p.prod_fam_cd, p.chass_mdl_cd, oc.flt_cd,&lt;BR /&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; oc.flt_name, oc.fail_date, oc.trk_mlg_amt,&lt;BR /&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; case when cfa.new_maj_comp_ser is not null&lt;BR /&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; then oc.trk_mlg_amt else 0 end as eng_repl_mileage,&lt;BR /&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; case when cfa.new_maj_comp_ser is not null&lt;BR /&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; then oc.fail_date else '12-31-2999' end as eng_repl_date&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; FROM wty_ddc.claims_fact_ddc_v oc&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; INNER JOIN wty_ddc.product_dim_v p&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ON oc.prod_id = p.prod_id&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; INNER JOIN wty_ddc.claims_fact_attr_ddc_v cfa&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ON cfa.clm_id = oc.clm_id&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; WHERE trk_mlg_amt is not null and trk_mlg_amt &amp;gt; 0&lt;BR /&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; and prod_type_cd in ('ENGINE','CHASSIS')&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ORDER BY vin, fail_date desc)&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;ERROR: CLI describe error: [IBM][CLI Driver][DB2/AIX64] SQL0104N&amp;nbsp; An unexpected token "q.clm_cd, prod_ser_no,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bld_date, vin, in_srvc_date, in" was found following "SELECT ".&amp;nbsp; Expected tokens may include:&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;space&amp;gt;".&amp;nbsp; SQLSTATE=42601&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(Same interpretation here - I think the query would work if the outer select statement was just "select * from....", but that's useless.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried the same thing leaving out the two column specs using PARTITION BY, in case that was ultimately the source of the syntax problem.&amp;nbsp; However, this error code ultimately means the same thing as the earlier one:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;ERROR: CLI describe error: [IBM][CLI Driver][DB2/AIX64] SQL0206N&amp;nbsp; "Q.CLM_CD" is not valid in the context&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where it is used.&amp;nbsp; SQLSTATE=42703&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;&amp;gt;&amp;gt;&amp;gt;&amp;nbsp; I think I could get the work done with several PROC SQL steps creating local temporary tables, but that will make this run much, much slower.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;TIA!!&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;Steve&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2020 19:45:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631678#M18943</guid>
      <dc:creator>saraimi</dc:creator>
      <dc:date>2020-03-12T19:45:48Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631681#M18945</link>
      <description>&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #333333; font-family: 'HelevticaNeue-light','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;To me this SQL looks invalid .&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #333333; font-family: 'HelevticaNeue-light','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;You are asking for&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #333333; font-family: 'HelevticaNeue-light','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;q.clm_cd,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #333333; font-family: 'HelevticaNeue-light','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;but you have not defined q anywhere&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2020 19:22:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631681#M18945</guid>
      <dc:creator>fdsaaaa</dc:creator>
      <dc:date>2020-03-12T19:22:26Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631684#M18946</link>
      <description>&lt;P&gt;Right - thanks.&amp;nbsp; I left out some of my debugging steps.&amp;nbsp; As a later debugging attempt, I threw an alias of "q" on the inline query and the select column specifications.&amp;nbsp; When I posted, I stripped off the alias on the virtual table definition, but forgot to remove it from the columns &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2020 19:40:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631684#M18946</guid>
      <dc:creator>saraimi</dc:creator>
      <dc:date>2020-03-12T19:40:47Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631726#M18948</link>
      <description>&lt;P&gt;Right. I can only suggest you do what I would in this situation .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have said&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #333333; font-family: 'HelevticaNeue-light','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 21.33px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;select * from&lt;/SPAN&gt; works, So change that to select 1 column (with no min/max or any other derivations) and see if that works . Gradually add 1 column at a time to see what is the first change you make that causes the error to occur&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;then google&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;good luck&lt;/P&gt;</description>
      <pubDate>Thu, 12 Mar 2020 22:28:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/631726#M18948</guid>
      <dc:creator>fdsaaaa</dc:creator>
      <dc:date>2020-03-12T22:28:30Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632706#M18976</link>
      <description>&lt;P&gt;Thanks for illuminating my&amp;nbsp;blind spot!&amp;nbsp; This works fine until I include one of the columns involving PARTITION OVER.&amp;nbsp; I'll dig into the details of that syntax.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Mar 2020 15:45:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632706#M18976</guid>
      <dc:creator>saraimi</dc:creator>
      <dc:date>2020-03-17T15:45:53Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632762#M18977</link>
      <description>&lt;P&gt;...and the syntax for partition is this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;select max(whatever var) OVER (PARTITION BY vin),&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;</description>
      <pubDate>Tue, 17 Mar 2020 18:49:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632762#M18977</guid>
      <dc:creator>saraimi</dc:creator>
      <dc:date>2020-03-17T18:49:59Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632805#M18981</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/272679"&gt;@saraimi&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Thanks for illuminating my&amp;nbsp;blind spot!&amp;nbsp; This works fine until I include one of the columns involving PARTITION OVER.&amp;nbsp; I'll dig into the details of that syntax.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;What type of variable is&amp;nbsp;&lt;SPAN&gt;eng_serial_number ?&amp;nbsp; Perhaps it is a BIGINT or other data type that SAS does not support.&amp;nbsp; If so cast it as FLOAT or VARCHAR().&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Note that SAS only has two data types, floating point numbers and fixed length character strings.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Mar 2020 21:29:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632805#M18981</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-03-17T21:29:05Z</dc:date>
    </item>
    <item>
      <title>Re: SQL Passthrough DB2 - WITH clause problem</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632807#M18982</link>
      <description>&lt;P&gt;Thanks, Tom - that is important to keep in mind.&amp;nbsp; In this case, it's character, and my problem was with the syntax of the OVER and PARTITION BY:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;bad&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; MAX(eng_serial_number) OVER PARTITION BY (vin);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; MAX(eng_serial_number) OVER (PARTITION BY vin);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Mar 2020 21:34:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SQL-Passthrough-DB2-WITH-clause-problem/m-p/632807#M18982</guid>
      <dc:creator>saraimi</dc:creator>
      <dc:date>2020-03-17T21:34:57Z</dc:date>
    </item>
  </channel>
</rss>

