要求一个语句从study,DICT 表中取出如表三所列格式数据

问题描述:要求一个语句从study,DICT 表中取出如表三所列格式数据

study表

DICT表

表三

答案:SQL:

SELECT Deptname,
MAX(CASE WHEN Mon = '一月份' THEN value ELSE null END) AS 一月份,
MAX(CASE WHEN Mon = '二月份' THEN value ELSE null END) AS 二月份,
MAX(CASE WHEN Mon = '三月份' THEN value ELSE null END) AS 三月份
  FROM `study` as a right join `DICT` as b on a.dept=b.Dept group by Deptname
时间: 2024-10-15 04:44:40

要求一个语句从study,DICT 表中取出如表三所列格式数据的相关文章

小猪的数据结构辅助教程——2.1 线性表中的顺序表

小猪的数据结构辅助教程--2.1 线性表中的顺序表 标签(空格分隔): 数据结构 本节学习路线图与学习要点 学习要点: 1.抽象数据类型(ADT)的概念,三要素:数据,数据元素间的关系和数据的操作 2.线性表的特点:按照一条线排列的数据集合,1对1,除了首元和尾元,其他元素都有直接前驱和直接后继 3.牢记线性表的存储结构,要理解并熟悉12个基本操作的逻辑,最好能徒手撕出代码 4.求并集,顺序表的经典例子,必须掌握! 1.抽象的数据类型 简单点说: 抽象:有点像我们面向对象语言中的类的思想,将事物

使用pivot和聚合函数将表中的行的值转为列产生新的表

原表格:V_ChannelReward结构为: select * from V_ChannelReward pivot (max(RewardSum) for RewardItem in ([星级奖励],[自建空充酬金],[首充酬金],[BOSS待办酬金],[激活酬金],[神州行上网套餐拓展酬金],[其他],[新增客户与裸机捆绑销售],[实名登记酬金],[宽带业务酬金],[2G渠道体系酬金],[3G渠道体系酬金],[数据业务酬金],[开户激励酬金],[开户基础酬金],[在网酬金],[维系酬金],

(转)查询A、B表中,A表中存在B表不存在的数据

(转)A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引. 方法一 使用 not in ,容易理解,效率低  ~执行时间为:1.395秒~ (第一种方法亲测可用) 1 select distinct A.ID from A where A.ID not in (select ID from B) 方法二 使用 left join...on... , "B.ID isnull" 表示左连接之后在B

mysql数据库中如何修改已建好的表中的【列名】【列的属性】

sql命令:alter table tbl_name change old_col_name new_col_name data_type not null auto_increment primary key 案例如下:修改前的表结构 查询表结构的命令:desc table_name; 修改后的表结构

B表中的pid对应A表中id,查询A表中数据,根据b表中对应a表中该id的数据数目排序

select a.*,count(*) as c from a left join b on a.id=b.aid group by a.id ORDER BY c desc

mysql5.7基础 insert 表中含有自动增长的字段,插入数据时用NULL

礼悟:    公恒学思合行悟,尊师重道存感恩.叶见寻根三返一,江河湖海同一体.          虚怀若谷良心主,愿行无悔给最苦.读书锻炼养身心,诚劝且行且珍惜. 数据.数据,命根就在数据.操作数据库一定要谨慎小心.给最苦 这里的代码,看看就好,要有自己的判断.遇到抉择,要不耻上下问. mysql:5.7                     os:Windows7 x64 代码及效果 mysql> desc t2; +-------+-------------+------+-----+--

如何将一个数据库中的一个表复制到另一个数据库中的表中

如何将一个数据库中的一个表复制到另一个数据库中的表中 2013-09-11 17:13匿名 | 浏览 13763 次 如何将一个数据库中的一个表复制到另一个数据库中的表中两个表的列名不同.有知道的么?SQL语句直接导过去.! 2013-09-12 20:26网友采纳 热心网友 如果另一个库中没有同名的表select * into b数据库.dbo.a表 from a数据库.dbo.a表 where 条件 如果是追加到另一个表中inert into b数据库.dbo.a表select * from

SQL INSERT INTO 语句:向表中插入新记录语法及案例剖析

SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新记录. SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新记录. SQL INSERT INTO 语法 INSERT INTO 语句可以有两种编写形式. 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可: INSERT INTO table_name VALUES (value1,value2,value3,...); 第二种形式需要指定列名及被插入的值: INSERT I

触发器中的inserted表和deleted表

触发器语句中使用了两种特殊的表:deleted 表和 inserted 表.Microsoft? SQL Server 2000 自动创建和管理这些表.可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件:然而,不能直接对表中的数据进行更改. inserted和deleted表主要用于触发器中: ·扩展表间引用完整性 ·在以视图为基础的基表中插入或更新数据 ·检查错误并基于错误采取行动 找到数据修改前后表状态的差异,并基于此差异采取行动. Deleted表用于存储DELE