Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件

需要将SQL数据库中的数据做统计,现在数据库连接以及数据统计实现了。
不过有个不方便的地方,就是我的查询统计语句中涉及到时间段,每次在SQL语句中去输入时间太麻烦了,想在Excel表中使用两个单元格输入时间,在这个SQL查询统计语句中调用这两个单元格的值作为查询条件,请问怎么实现?
现在的查询语句如下:

select count(*) as expr1
from sql表
where (DLY='ABC') and (rq >= '2014-03-01') and (rq <='2014-03-31')

想调用Excel表中两个单元格的值来替换语句中的两个日期,请问怎么调用?

1、将需要处理的记录复制到一个新的工作表,然后将在数据库表中存在唯一值的列(比如物料编码)后插入一列,用 CONCATENATE函数将其前后加上“'”。

2、将加“'”的这列数据复制到一个文本文件中。

3、关闭并保存这个新的文本文件,然后用Word 将其打开。

4、快捷键Ctrl+F,点击“替换”,查找内容中输入“^p”,替换为输入“,”。

5、在 sql server 的查询界面,输入以下SQL语句:use 数据库名,select * from  表名  ,where  字段名  in ,(Word 中的文本)。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-05

select count(*) as expr1
from sql表
where (DLY='ABC') and (rq >= ?) and (rq <=?)

1、将两个日期的地方改为 ? ,然后exel会提示你输入参数的值,

2、在 Microsoft Qyery中,点视图--参数,给两个参数命名。

3、返回到Excel,在表格区域点右键--表格--参数,弹出查询参数对话框。

4、给每个参数指定单元格,根据需要勾选 单元格值更改时自动刷新。

第2个回答  2014-04-17
//2007和2010版本:
 SELECT *
 FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0',
 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$]

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]')

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]')
//2003版本:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]')

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]')

//而且,还需要用拥有服务器sysadmin角色权限的登录帐号,先执行下列语句打开SQL SERVER的'Ad Hoc Distributed Queries'开关。
exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure;

//执行查询后,再用相反顺序的语句,关闭'Ad Hoc Distributed Queries'开关。
 
exec sp_configure 'Ad Hoc Distributed Queries',0;
reconfigure;exec sp_configure 'show advanced options',0;reconfigure;

第3个回答  2017-06-30
把 日期位置'2014-03-01',改为Range("A1").Text
另一个日期类似处理。
A1改为实际的日期所在的单元格。
如果语句在模块中,Range前面加上 Worksheets("Sheet1").
或者Worksheets(1).本回答被网友采纳
第4个回答  2017-06-29
假设两个日期分别写在b1和c1,则后面部分为 (rq >= [b1]) and (rq <=[c1])本回答被网友采纳

Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件
1、将需要处理的记录复制到一个新的工作表,然后将在数据库表中存在唯一值的列(比如物料编码)后插入一列,用 CONCATENATE函数将其前后加上“'”。2、将加“'”的这列数据复制到一个文本文件中。3、关闭并保存这个新的文本文件,然后用Word 将其打开。4、快捷键Ctrl+F,点击“替换”,查找内容中...

如何使用SQL语句实现对Excel工作表数据的查询
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:\/97-2003.xls;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]--> ACE 引擎访问 Excel 2007 select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D...

使用SQL语句如何对Excel工作表数据进行查询
使用SQL语句对Excel工作表数据进行查询 1、启动Excel并打开工作簿,在这个工作簿中,工作表Sheet1放置商品信息记录,如图1所示;工作表Sheet2用于对商品记录进行查询,其结构如图2所示。图1 放置商品信息记录的工作表 图2 用于商品记录查询的工作表 2、打开Visual Basic编辑器,在工程资源管理器中插入一...

如何用sql取excel表中某单元格的值
可以先用SQL读取Excel数据,然后再找某单元格 --SQL读取Excel数据 select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="C:\\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]有合并的就不好做了 ...

Excel sql语句怎么引用单元格
在VBA下还是在MICRO QUERY(获取外部数据)下操作?如果是在VBA下,在SQL语句字符串的条件中 & range("a1") & 这样的方式就行了。如果在MICRO QUERY下,见下图操作:

如何才能用EXCEL去连接SQL数据库读取数据
Excel程序自带的外部数据连接功能,可以连接SQL服务器。具体步骤为:1、选择【数据】选项卡,在【获取外部数据】分组,找到【自其他来源】。2、单击【自其他来源】按钮,打开【选择来源】下拉菜单。3、选择【来自SQLServer】打开【数据连接向导】对话框。4、填写服务器名称、登录的用户名及密码等信息,即可...

sql连接Excel表格问题
1.去重:直接用distinct 对整表重复记录去重.2.关联:如果不用on , 可以直接用 select a.*,b.* from a,b 的形式做关联,生成笛卡尔积. 用on 的话,就要在on 条件后面用点技巧了.--参考代码:SELECT a.*,b.from (select distinct * from table_a) a ,(select distinct * from table_b) b...

如何在excel中执行sql语句(Sql In Excel V1.0 EXCEL插件介绍)
Sql In Excel是一款在excel中执行SQL语句的Excel插件。通过配置数据库连接信息,可将查询结果直接返回到Excel工作表中。连接数据库时,点击左上角的配置按钮,输入数据库连接信息,当前支持Mysql和Pgsql数据库。通过勾选配置按钮下的复选框切换数据库。演示以Mysql数据库为例。在查寻所有模式、表数量、表...

excel导入sql,用sql语句
1.打开SQL Server Management Studio,按图中的路径进入导入数据界面。2.导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。3.数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。4.选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。5.再次确认文件路径没...

Excel数据源的多表合并和SQL查询图解教程
每一行都是一个数据表其中后缀为’$’的表为Excel文件中的工作表,其它为Excel文件中的名称所定义的数据区域。点击左侧的「+」号可以展开看这个数据表的列名。3、接下来有几种方式,一种方式是利用查询向导可视化地建立数据库查询语句,另一种方式是直接输入数据库查询语句。我一般使用后者。这时候在上面...

相似回答