excel里可以使用sql语句吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel里可以使用sql语句吗相关的知识,希望对你有一定的参考价值。
当然可以。可以在VBA编程中使用SQL语句,可以查询也可以修改数据库。
也可以直接在单元格中使用“数据”菜单下选择插入来自SQL Server或者ODBC查询结果,建立数据库连接后可以使用SQL语句将查询结果显示在单元格中。 参考技术A 可以的,EXCEL可以作为数据源(SQL语句FROM后面的表),也可以结果存放到EXCEL里面,不过需要使用微软查询(2016版包含)。本回答被提问者和网友采纳 参考技术B 可以
挠头也没用,这个时间只能回单位把电脑取回来,但是这个时候我的懒病发作了,即使是一分钟不到的路程都不愿意去,只好问度娘。
度娘让用excel,用数据导入,这让我顿开茅塞啊。
这就把具体的过程写下来,供大家学习。
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
00
问题
A表中存储的病案记录,其中出院科室为代码形式。
图片
B表中存储的科室字典。
图片
问题:现在想要翻译后的病案记录。
01
基础准备
将A表与B表数据同时存储在同一个excel中,命名为example,sheet分别命名为a,b。
02
数据导入
①打开example,新建一个sheet,命名为C。
②鼠标默认选择的是A1单元格
③选择:数据→现有链接,在弹出的对话框中选择“浏览更多”。
④选择example文件,并且在随后的弹框中选择“a$",并点击确定。
图片
⑤在弹出的“导入数据”对话框上点击“属性”。
图片
⑥在弹出的“连接属性”对话框中依次点击“定义(D)”→“命令文本(M)”。
03
编辑SQL
在刚才弹出的命令文本中输入sql语句。本例语句为:
select [a$].病案号,[b$].科室名称,[a$].出院日期 from [a$],[b$] where [a$].科室代码=[b$].科室代码 order by [a$].病案号
图片
04
完成
①语句编辑完成后,点击“确定”
②返回到“数据导入”对话框时再次点击“确定”
③在预定的单元格就会显示所期望的结果。
注
需要特别注意的是,excel的sheet的写法,必须用[$]。
怎么样
难度系数不大吧,本例仅仅是为了让读者有所了解,所用数据较为简单。其他数据类似。
祝:大家工作愉快,身体健康,
图片
SQL重复数据的筛选
insert into 临时表(ID,BH,SJ,PZ)
select ID,BH,SJ,PZ
from JKXX
这样查询出来的值会有重复数据,JCSJ是检查时间,
怎么将重复数据只留F_JCSJ最新的那一行啊
结果中去除重复数据可以使用函数【distinct】也可以使用分组语句【group by】
1、【distinct】使用示例:
select distinct userid,username from 表名2、分组语句【group by】使用示例:
select userid,username from 表名 group by userid,username1和2两个语句的select检索输出结果是一致的
参考技术A 如果要去除重复列 可以根据jcsj字段进行分组 (group by)想要留时间最新的 可以在查询字段前加MAX 如:MAX(jcsj) 参考技术B 你要看你有哪些数据段是相同的,就根据那些相同的数据段分类。
比如说,
A B C D
1 1 1 3
1 1 1 4
1 1 1 5
(前面的insert 我就不写了)
那就是select A,B,C,MAX(D) FROM TABLE GROUP BY A,B,C
如果是
A B C D
1 1 1 2
2 1 1 3
3 1 1 4
就是说,如果你还有一个字段是id,主键的话就是
select A,B,C,MAX(D) FROM TABLE GROUP BY B,C 参考技术C 楼主,是不是ID,BH,PZ相同时,但SJ不同?如果这样,就按者三个分组查询。
insert into 临时表(ID,BH,SJ,PZ)
select ID,BH,max(SJ),PZ
from JKXX
group by ID,BH,PZ 参考技术D insert into 临时表(ID,BH,SJ,PZ)
select ID,BH,max(SJ),PZ
from JKXX
group by ID,BH,PZ本回答被提问者采纳
以上是关于excel里可以使用sql语句吗的主要内容,如果未能解决你的问题,请参考以下文章
SQL里if语句和case语句有啥区别吗?哪个使用更高效?就是查询更优化?
C#能不能像操作SQL数据库那样使用sql语句对excel进行读取更新等操作?