我正在使用pythondjango原始查询运行SQL查询。。!!在
我使用IN()函数在查询中传递元组。在
我的代码看起来像这样。。。在
这里我从一个json/函数得到dnc_domains
和{
dnc_domain_names = list(map(lambda x: get_domain_name(x), dnc_websites))
dnc_company_names = list(map(lambda l: l.lower(), list(filter(None, list(map(lambda x: x['company_name'], dnc_info))))))
查询:
^{pr2}$正在执行查询:
with connection.cursor() as cursor:
cursor.execute(select_query, (campaign.id,tuple(dnc_company_names),tuple(dnc_domain_names))
matching_contact_ids = cursor.fetchall()
但是,如果任何dnc_company_names
或{
SQL错误:
syntax error at or near ")"
LINE 5: WHERE id IN ()
^
所以,帮我解决这个错误。SQL应该同时处理空元组或非空元组。在
IN的右侧必须是只返回一列的子查询: https://www.postgresql.org/docs/current/static/functions-subquery.html#FUNCTIONS-SUBQUERY-IN
我试过了
会引发以下错误:
我想您应该在(NULL)中提供一些东西,以防列严格不为NULL。在
这可以通过在列表中提供
NULL
值来解决最后,在我的问题中,我将}。在
dnc_company_name
转换成{它解决了我的问题。在
相关问题 更多 >
编程相关推荐