create table #student(UserName varchar(20),Subject varchar(20),Score int)
insert into #student values('张三','语文',74)
insert into #student values('张三','数学',83)
insert into #student values('张三','物理',93)
insert into #student values('李四','语文',74)
insert into #student values('李四','数学',84)
insert into #student values('李四','物理',94)
/*
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- ---- ----
李四 74 84 94
张三 74 83 93
*/
declare @Sql varchar(1000)
set @sql='select b.UserName'
select @sql=@sql+' , sum(case when b.Subject= '''+Subject+''' then Score else 0 end)['+Subject+'] '
from (select distinct(Subject) from #student) b
set @sql=@sql+' from #student b group by b.UserName'
exec(@sql)
(2)
CREATE TABLE #TA(n1 NVARCHAR(2),n2 NVARCHAR(5),n3 NVARCHAR(2),n4 INT,n5 INT)
INSERT #TA
SELECT N'毛巾',N'哈尔滨',N'条',10,1 UNION ALL
SELECT N'水杯',N'哈尔滨',N'个',20,2
CREATE TABLE #TB(M1 NVARCHAR(5),M2 SMALLDATETIME,M3 INT,M4 INT)
INSERT #TB
SELECT N'一门店','20080101',20,1 UNION ALL
SELECT N'二门店','20080101',30,1 UNION ALL
SELECT N'一门店','20080101',40,2 UNION ALL
SELECT N'二门店','20080101',50,2 UNION ALL
SELECT N'一门店','20080102',60,1 UNION ALL
SELECT N'二门店','20080102',70,1 UNION ALL
SELECT N'一门店','20080102',80,2 UNION ALL
SELECT N'二门店','20080102',90,2
/*
想求出每个商品的现在有库存、每个门店的现有库存、总库存,如:
品名 产地 单位 数量 一门店 二门店 …… 总库存
毛巾 哈尔滨 条 10 60 70 ……
水杯 哈尔滨 个 20 80 90 ……
*/
declare @sql varchar(1000)
set @sql='select a.n1,a.n2,a.n3,a.n4'
select @sql=@sql+ ' ,sum(case when b.M1= '''+M1+''' then b.M3 else null end) ['+M1+']'
from (select distinct (M1) from #TB) a
set @sql=@Sql+ ' ,sum(M3) from #TA a,#TB b where a.n5=b.M4 group by a.n1,a.n2,a.n3,a.n4'
exec(@sql)
分享到:
相关推荐
在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...
动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 例: Select * from tableName Exec('select * from tableName') Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,...
hibernate实现动态SQL查询,通过XML配置SQL,FREEMARKER 解析,生成要执行的SQL
kettel循环执行动态sql,
动态SQL 并且把返回的值赋给变量,sp_executesql,动态sql语句基本语法
Gbase8s动态sql的介绍
静态、动态sql及各种游标,适合初学者学习
这个版本包括log4j2 sql Mapper 和 动态sql 具体参见: http://blog.csdn.net/tianhongqiang/article/details/57082946(框架整合) http://blog.csdn.net/tianhongqiang/article/details/60975953(sql mapper) ...
DB2游标及动态SQL,异常处理,sqlcode,sqlstate
mybatis之动态SQL
SQLServer动态SQL语句的用法
mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。 mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。mybatis动态sql,...
学习SQL 应知道的动态SQL 语句基本语法学习SQL 应知道的动态SQL 语句基本语法
SpringBoot+JPA+Freemarker 生成动态SQL,通过Test下的 junit Test运行代码
学习SQL应知道的动态SQL语句基本语法 学习SQL应知道的动态SQL语句基本语法 学习SQL应知道的动态SQL语句基本语法 学习SQL应知道的动态SQL语句基本语法
动态SQL与绑定变量 动态SQL与绑定变量
sql语句、动态SQL语句基本语法,里面有很多很有用的sql语句。
mybatis动态sql MyBatis是一种开源的持久层框架,它为Java程序员提供了一种简化数据库访问的方式。其中,动态SQL是MyBatis的一个重要特性,它允许用户根据不同的条件拼接SQL语句,从而实现更加灵活和可扩展的数据库...
学习SQL应知道的动态SQL语句基本语法 mssql