首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何构造包含Excel单元值的SELECT语句?

如何构造包含Excel单元值的SELECT语句?
EN

Stack Overflow用户
提问于 2016-04-25 15:38:29
回答 1查看 357关注 0票数 0

我正在通过Excel使用power查询外部数据库。我想要做的是基于单元格值填充where子句,例如,我的sql语句会读到以下内容

代码语言:javascript
运行
复制
Select *
From employees
where hiredate between Sheet1!A1 and Sheet2!A2

我尝试了上面的语法,但它不起作用,但我认为它说明了我想要实现的目标。

如何将参数从Excel表传递到power查询语法?

编辑

我尝试跟随blog.oraylis.de (不是实际的链接,链接在注释中),但是当我试图执行我的语句时,我得到了下面的错误

DataSource.Error ODBC:错误4203错误:列"start_p“不存在;

我创建了一个名为it参数的表,添加了头和值,我尝试运行的完整SQL如下:

代码语言:javascript
运行
复制
let
startp_Param = Excel.CurrentWorkbook(){[Name="Parameter"]}[Content],
startp_Value = startp_Param {0}[Value],
endp_Param = Excel.CurrentWorkbook(){[Name="Parameter"]}[Content],
endp_Value = endp_Param {1}[Value],
Source = Odbc.Query("dsn=postgresql", "Select * FROM employees where hiredate BETWEEN startp_Value AND endp_Value")
in
Source

编辑# 2

我修改了查询,如下所示

代码语言:javascript
运行
复制
"Select * 
FROM employees 
where hiredate BETWEEN " & startp_Value & " AND " & endp_Value

但是,现在出现的错误是:

代码语言:javascript
运行
复制
"We cannot apply operator & to types Text and Number" 
EN

回答 1

Stack Overflow用户

发布于 2016-04-25 17:52:35

startp_Value和endp_Value是Power查询中的步骤,因此您必须使用&将其添加到字符串中,如下所示:

Source = Odbc.Query("dsn=postgresql", "Select * FROM employees where hiredate BETWEEN " & startp_Value & " AND " & endp_Value

这并不能处理清除SQL查询的问题,因此您可能希望对startp_Value和endp_Value (例如,转换为日期,然后返回到文本)进行消毒处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36845106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档