Forum Discussion

jburbano's avatar
jburbano
Frequent Visitor
3 years ago

Failing to build dynamic ODBC connection using Odbc.Query and a set parameter

I have a local ODBC driver for ServiceNow and I am trying to pull only the sc_req_item rows that have a matching [task] dv_parent:

 

 

 

let
     ODBCQueryString = """SELECT * FROM sc_req_item#(lf)WHERE (number IN (""" & Text.Combine(Table.Column(Table.SelectRows(Tasks, each [dv_parent] <> null and [dv_parent] <> ""), "dv_parent"), """,""") & """)) AND (sys_created_on >= TIMESTAMPADD(SQL_TSI_YEAR, -5, NOW()))""",
     Source = Odbc.Query("dsn=ServiceNow", ODBCQueryString)
in
     Source

 

 

 

From the Tasks table I am selecting rows that dv_parent is not empty, converting to list and combining with '","'. For a short example, the returning string is:

 

"SELECT * FROM sc_req_item
WHERE (number IN ("RITM0247413","RITM0383048","RITM0349498")) AND (sys_created_on >= TIMESTAMPADD(SQL_TSI_YEAR, -5, NOW()))"

 

But I am getting the following error:

 

That list of RITM numbers may change and I need to dynamically create that list