首页 > 数据库 >080 Dynamic SQL

080 Dynamic SQL

时间:2024-10-31 19:46:04浏览次数:6  
标签:OrderId ol join 080 Dynamic CustomerEmail SQL select

SQL

--select * from Products

--EXEC('select * from Products')

DECLARE @topCount INT = 6

DECLARE @SQL nvarchar(max)

SET @SQL = 
'
select top ' + CAST(@topCount AS nvarchar(10)) + '
    o.CustomerEmail,
    sum(p.Price * ol.Quantity) as ''Total Money Spent''
    into #tempTopCustomers
from 
    orders o
    join OrderLines ol on ol.OrderId = o.OrderId
    join Products p on p.ProductId = ol.ProductId
group by o.CustomerEmail
order by sum(p.Price * ol.Quantity) desc


select 
    tc.CustomerEmail,
    FORMAT(o.OrderId,''000000'') as ''Order Number'',
    o.OrderDate,
    p.Name as ''Product Name'',
    ol.Quantity as ''Quantity Ordered''
from #tempTopCustomers tc
    join orders o on tc.CustomerEmail = o.CustomerEmail
    join OrderLines ol on ol.OrderId = o.OrderId
    join Products p on p.ProductId = ol.ProductId
order by 
    tc.[Total Money Spent] desc,
    o.OrderDate asc

drop table #tempTopCustomers'
    

EXEC(@SQL)

标签:OrderId,ol,join,080,Dynamic,CustomerEmail,SQL,select
From: https://blog.csdn.net/KevinHuang2088/article/details/143415912

相关文章

  • Navicat 连接 MySQL 失败:2002-can‘t connect to server on localhost(10061)问题解决
    连接不上问题可能有如下原因服务器安全组中没有配置3306端口mysql服务端口只开放本地了如下:修改/etc/mysql/mysql.conf.d/mysqld.cnf中bind-address和mysqlx-bind-address注释掉重启mysql服务systemctlrestartmysqlmysql登录用户的host为localhost只允......
  • mysql CA certificate ca.pem is self signed 如何解决
    当MySQL的CA证书(ca.pem)是自签名时,这意味着该证书不是由受信任的证书颁发机构(CA)签发的。这可能导致在客户端和服务器之间建立安全连接时出现问题,特别是在需要验证证书链的情况下。以下是一些解决方法和步骤,可以帮助你处理自签名的CA证书:1.将CA证书添加到受信任的证......
  • SQL注入
    SQL注入漏洞成因:程序员处理程序和数据库交互时,使用字符串拼接的方式构造sql语句没有对用户可控参数进行足够的过滤,便将参数内容拼接到sql语句中通过向用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻击行为。分类数据类型数字型字符型注入......
  • Python SQLite数据库编程
    Python内置 SQLite库直接使用,简单,适合初学者。做更复杂软件,建议重新选用数据库从例子开始:示例代码:#导入模块importsqlite3#连接数据库,返回连接对象conn=sqlite3.connect("D:/my_test.db")#调用连接对象的execute()方法,执行SQL语句#(此处执行的是DDL语句,创......
  • MYSQL安装完系统盘和数据盘分离的后续操作
    前面讲了,为了保证数据库安全,建议将系统盘和数据盘分离。1、系统盘和数据盘分离操作,请看:https://www.cnblogs.com/hunttown/p/18510531 2、安装MYSQL数据库,请看:https://www.cnblogs.com/hunttown/p/17119331.html 3、后续操作如下:#1、复制现有的MySQL数据库文件sudo......
  • 35. PyMySQL
    1. PyMySQL模块介绍1.1 什么是DB-APIPython标准数据库规范为DB-API,DB-API定义了一系列必须的对象和数据库操作方式,以便为各种数据库系统和数据库访问程序提供一致的访问接口。1.2数据库操作模块DB-API接口封装成数据库操作模块,PyMySQL是python操作MySQL数据库的一种模块......
  • mysql 连表查询太慢
    优化joinon性能,解决联表查询慢的问题这里只提供一种方式啊,就是如果连表有查询条件,那就先把条件查了,然后再连表,这个很有用比如:pub_user1与pub_user2有相同的字段user_id直接这么写会多查询很多数据SELECTa.user_id,a.user_name,b.user_c......
  • Window Docker 安装MySQL8.0全流程
    mysql部分转自:https://blog.csdn.net/weixin_42197001/article/details/138184306#mysql8_7一:安装dockerWindows中的Docker它可以依赖于两种环境,分别是:Hyper-V、WSL。第一种是一个虚拟环境,也就是虚拟机,第二中是Windows的Linux子系统(系统要求不低于Window10的2021版本)。我选......
  • 科普文:软件架构数据库系列之【MySQL:InnoDB预读Ahead-read(线性预读linear read-ahead和
    概叙操作系统文件预读(Prefetching)科普文:软件架构Linux系列之【Linux的文件预读readahead】-CSDN博客前面文章我们从操作系统角度解释了文件预读readahead,指Linux系统内核将指定文件的某区域预读进页(OSpagecache)缓存起来,便于接下来对该区域进行读取时,不会因缺页(pagefault)......
  • 基于SpringBoot+MySQL+SSM+Vue.js的交友系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的交友系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoo......