Forum Discussion
jburbano
3 years agoFrequent Visitor
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