焦棚子的文章目录

请点击下载附件

1、应用场景

底层数据在数据库(sql server数据库,其他数据库同理,下文不再说明。)中,Excel中有查询的字段,需要在数据库中查询相关信息;

2、举个栗子

A、数据库内容

创建测试表:kucunbiao

sql 代码,自己建个测试库,我测试库:kucun

use kucuncreate table kucunbiao
(
统计日期    date
,sku        varchar(20)
,库存     int
)insert into kucunbiao(统计日期,sku,库存)
VALUES
('2018/9/17','1001',    1)
,('2018/9/17','1002',   2)
,('2018/9/17','1003',   3)
,('2018/9/17','1004',   4)
,('2018/9/17','1005',   5)
,('2018/9/16','1001',   10)
,('2018/9/16','1002',   20)
,('2018/9/16','1003',   30)
,('2018/9/16','1004',   40)
,('2018/9/16','1005',   50)select * from kucunbiao

B、Excel内容

Excel内容

需要从待查询的sku中,在数据库中查询,统计日期为:2019/9/16的库存信息,结果为:查询结果。

3、上pq语句

基本思路,用Sql.Database函数,四个参数分别为:数据库ip地址,数据库名称,sql语句,timeout时长。

构建四个参数。

letSKU明细 = Table.TransformColumnTypes(Excel.CurrentWorkbook(){[Name="SKU"]}[Content],{{"SKU", type text}})[SKU],//取表中的sku计数 = List.Count(SKU明细)-1,//计数用在后续参数中日期 = Text.From(Date.From(DateTime.LocalNow())-#duration(1,0,0,0)),//日期查询为2018/9/16,因为是今天所以减去一天,转换为文本用于后续文本连接。ip = "127.0.0.1",//数据IP地址为本机,注意mysql等需要端口号,sql server 用的默认端口1433数据库 = "kucun",//测试数据库:kucunsql_0 = "select SKU  into #SKULS #(lf)from kucunbiao #(lf)where 1=2 #(lf) #(lf) ",//创建临时表sql_1 = Text.Combine(List.Transform({0..计数},(X)=> "insert into #SKULS (SKU) values('"& SKU明细{X} &"')"),"#(lf)")&"#(lf) #(lf)",//将【SKU明细】中sku写入临时表,sql_2构建完整的sql查询语句。sql_2 = "select A.SKU, A.库存
from
(
select SKU,sum(库存) as 库存
from kucunbiao
where 统计日期='"&日期&"'
group by SKU
) as A
inner join
(
select SKU  from #SKULS
) as B
on
A.SKU=B.SKU
drop table #SKULS",sql = sql_0
&sql_1
&sql_2,结果 = Sql.Database(ip, 数据库, [Query=sql, CommandTimeout=#duration(0, 0, 10, 0)])
in结果

分步图解

分步1:清洗得到sku
分步2:计数-1得到索引
分步3:构建查询日期条件
分步4:构建ip
分步5:构建数据库名称
分步6:构建临时表sql语句
分步7:构建插入临时表数据sql语句
分步8:构建内连接查询sql语句
分步9:组合所有sql语句
分步10:利用Sql.Database查询结果

4、说明

首次使用会有凭据信息填写。

此案例适合小量数据条件查询,大量数据还请直接使用数据库。

思维的重点就是构建,要什么给什么。

by焦棚子

焦棚子的文章目录

sql datetime 加一天_PowerQuery数据库Sql.Database条件查询相关推荐

  1. DQL--基本查询,数据库的列,条件查询,模糊查询,连接查询

    基本查询 查询表中所有的数据列结果:select * from 表名; mysql> select *from student; +----+----------+-----+--------- ...

  2. mysql数据库sql语句中使用变量_mysql数据库sql语句中使用变量

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. MySQL数据库中where条件查询(比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询)

    1. where条件查询的介绍 where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中. where语句支持的运算符: 比较运算符 逻辑运算符 模糊查询 范围查询 空判断 wher ...

  4. mysql查询18至28岁的人,MySQL数据库-数据的条件查询(where) 命令演示

    条件查询 elect - from 表名 where - 比较运算符 > 查询大于18岁的信息 select * from students where age>18; select id ...

  5. SQL DateTime数据类型注意事项和限制

    介绍 (Introduction) In this article, we will explorethe SQL Date Time data type and its limitations. 在 ...

  6. [数据库] Oracle单表查询总数及百分比和数据横向纵向连接

    这是最近项目关于SQL语句的,本文简单记录并总结以下几个知识点:         1.如何统计一张表中某个字段的总数,如不同"专业"的学生数及所占百分比:         2.如何 ...

  7. mybatis多条件查询处理方案(查询条件为数据库字段非传递参数)

    问题说明     关于多条件查询,大部分遇到的场景是根据传递参数的不同查询符合参数字段的数据信息.mybatis中使用频率最高的是if标签.但if标签中的test属性只支持传递参数进行判断是否相等,不 ...

  8. aws rds恢复数据库_使用AWS Glue将数据从AWS S3加载到AWS RDS SQL Server数据库

    aws rds恢复数据库 This article explains how to develop ETL (Extract Transform Load) jobs using AWS Glue t ...

  9. mysql数据库sql语句大全

    mysql sql语句大全 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql se ...

最新文章

  1. 栈与队列10——可见的山峰对数量
  2. php5.5 mysql密码无法_php – Mysql无法连接 – 访问被拒绝(使用密码是)
  3. python 数据分析学什么-入门数据分析,我应该学习什么编程语言
  4. 简单易懂的多线程(通过实现Runnable接口实现多线程)
  5. 服务器监控报警系统软件设计,船舶机舱监控报警系统软件设计与实现
  6. 第3章 简单爬虫架构
  7. java代码从编译到加载执行的过程
  8. java打开文件出错_打开文件错误太多,java.io.FileNotFoundException
  9. Java基础总结(一)
  10. FPGA设计中遇到的奇葩问题之“芯片也要看出身”
  11. 【学习总结】GirlsInAI ML-diary day-11-while循环
  12. SqlServer2005数据库文件损坏的拯救过程
  13. halcon python缺陷检测_halcon边缘提取缺陷检测的思路
  14. jquery html5关系图,html5 canvas复杂人物关系图设置代码
  15. Spring Aop 5种通知写法及参数JoinPoint详解
  16. 软件测试这个行业能干到多少岁?
  17. 杨歌:金融电路与 Web3 经济模型原理 (转载及导言)
  18. 网上购车平台蛋蛋订车上私户,汽车之家青少年嘉年华正式开幕
  19. kali学习-被动信息收集-DNS相关
  20. java 循环小数_面试:输出循环小数的循环节

热门文章

  1. hdu 5339 Untitled【搜索】
  2. Java中的异常处理
  3. BASH SHELL 脚本基础
  4. Spark(四) -- Spark工作机制
  5. android studio github 项目导入问题
  6. excel两个下拉框相互关联
  7. HTML5实践之歌词同步播放器
  8. 家庭背景音乐的发展趋势
  9. 中文Visual Studio 2005 Express Beta2不能安装在英文Longhorn Beta1上吗?
  10. TCGA收官之作—27篇重磅文献绘制“泛癌图谱”