当前位置:首页 » 编程语言 » 多个指标合并成报表sql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

多个指标合并成报表sql

发布时间: 2022-08-02 18:47:03

sql如何将多个表合并成一个表

--复杂点的方法,


DECLARE @startTime DATETIME --开始的时间

DECLARE @endTime DATETIME --结束的时间

--比如我要得到1月到2月的数据

SET @startTime = '2014-01-01 00:00:00.000' --从新年第一天开始

SET @endTime = GETDATE() --一直到当前时间


--准备创建表

--根据月份创建

DECLARE @mi INT

--(这里必须要是开始时间和结束时间在一年之内的情况,如果不是在一年以内则要另外考虑,懒得写)

SET @mi = MONTH(@endTime) - MONTH(@startTime) + 1 --用结束月份减去开始月份,得到总共要创建几个月份表(加上当前月份)

--PRINT @mi

WHILE @mi >0

BEGIN

DECLARE @tableName VARCHAR(6) --月份表名

DECLARE @sql NVARCHAR(1000)

SET @tableName = '2014'

IF @mi<10

BEGIN

SET @tableName = @tableName + '0'

END

SET @tableName = @tableName + CAST(@mi AS VARCHAR)

IF NOT EXISTS (SELECT * FROM sysobjects WHERE [name] = @tableName AND [type] = 'U')

BEGIN

--如果当前月份表不存在,创建当前月份表

SET @sql = 'CREATE TABLE '+@tableName + ' (MId INT PRIMARY KEY IDENTITY(1,1))'

PRINT @sql

--执行

--EXECUTE sp_executesql N@sql

END

DECLARE @dayName VARCHAR(8) --天表名

WHILE CONVERT(VARCHAR(6),@endTime,112)=@tableName --确定当前时间是否是当前月的

BEGIN

SET @sql = ''

SET @dayName = CONVERT(VARCHAR(8),@endTime,112)

SET @sql = 'INSERT INTO '+@tableName +' VALUES SELECT * FROM ' + @dayName

PRINT @sql

--执行

--EXECUTE sp_executesql N@sql

SET @sql = ''

SET @endTime = DATEADD(DAY,-1,@endTime)

END

SET @mi = @mi - 1 --月份减一

/*

------------------------------------------------------------

CREATE TABLE 201402 (MId INT PRIMARY KEY IDENTITY(1,1))

INSERT INTO 201402 VALUES SELECT * FROM 20140219

INSERT INTO 201402 VALUES SELECT * FROM 20140218

INSERT INTO 201402 VALUES SELECT * FROM 20140217

INSERT INTO 201402 VALUES SELECT * FROM 20140216

INSERT INTO 201402 VALUES SELECT * FROM 20140215

INSERT INTO 201402 VALUES SELECT * FROM 20140214

INSERT INTO 201402 VALUES SELECT * FROM 20140213

INSERT INTO 201402 VALUES SELECT * FROM 20140212

INSERT INTO 201402 VALUES SELECT * FROM 20140211

INSERT INTO 201402 VALUES SELECT * FROM 20140210

INSERT INTO 201402 VALUES SELECT * FROM 20140209

INSERT INTO 201402 VALUES SELECT * FROM 20140208

INSERT INTO 201402 VALUES SELECT * FROM 20140207

INSERT INTO 201402 VALUES SELECT * FROM 20140206

INSERT INTO 201402 VALUES SELECT * FROM 20140205

INSERT INTO 201402 VALUES SELECT * FROM 20140204

INSERT INTO 201402 VALUES SELECT * FROM 20140203

INSERT INTO 201402 VALUES SELECT * FROM 20140202

INSERT INTO 201402 VALUES SELECT * FROM 20140201

CREATE TABLE 201401 (MId INT PRIMARY KEY IDENTITY(1,1))

INSERT INTO 201401 VALUES SELECT * FROM 20140131

INSERT INTO 201401 VALUES SELECT * FROM 20140130

INSERT INTO 201401 VALUES SELECT * FROM 20140129

INSERT INTO 201401 VALUES SELECT * FROM 20140128

INSERT INTO 201401 VALUES SELECT * FROM 20140127

INSERT INTO 201401 VALUES SELECT * FROM 20140126

INSERT INTO 201401 VALUES SELECT * FROM 20140125

INSERT INTO 201401 VALUES SELECT * FROM 20140124

INSERT INTO 201401 VALUES SELECT * FROM 20140123

INSERT INTO 201401 VALUES SELECT * FROM 20140122

INSERT INTO 201401 VALUES SELECT * FROM 20140121

INSERT INTO 201401 VALUES SELECT * FROM 20140120

INSERT INTO 201401 VALUES SELECT * FROM 20140119

INSERT INTO 201401 VALUES SELECT * FROM 20140118

INSERT INTO 201401 VALUES SELECT * FROM 20140117

INSERT INTO 201401 VALUES SELECT * FROM 20140116

INSERT INTO 201401 VALUES SELECT * FROM 20140115

INSERT INTO 201401 VALUES SELECT * FROM 20140114

INSERT INTO 201401 VALUES SELECT * FROM 20140113

INSERT INTO 201401 VALUES SELECT * FROM 20140112

INSERT INTO 201401 VALUES SELECT * FROM 20140111

INSERT INTO 201401 VALUES SELECT * FROM 20140110

INSERT INTO 201401 VALUES SELECT * FROM 20140109

INSERT INTO 201401 VALUES SELECT * FROM 20140108

INSERT INTO 201401 VALUES SELECT * FROM 20140107

INSERT INTO 201401 VALUES SELECT * FROM 20140106

INSERT INTO 201401 VALUES SELECT * FROM 20140105

INSERT INTO 201401 VALUES SELECT * FROM 20140104

INSERT INTO 201401 VALUES SELECT * FROM 20140103

INSERT INTO 201401 VALUES SELECT * FROM 20140102

INSERT INTO 201401 VALUES SELECT * FROM 20140101



*/


㈡ SQL怎么把多条数据合并成一条数据

把多条数据合并成一条数据的代码:

select sum(case when wgrp_id='2' then quota end) w2, sum(case when wgrp_id='3' ;then quota end) w3, mm;
from table;
group by mm。

SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

应用信息:

结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

支持标准:

SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。

㈢ 在SQL中,合并多个表中的数据有哪3种方法

合并多个表中的数据的方法有三种:
联合(Union)-合并多个数据表中的行
子查询-将一个查询包含到另一个查询中
联接-合并多个数据表中的列

㈣ sql怎么把两张表合并成一张

sql把两张表合并成一张步骤如下:

1、我们首先将以A为基准用leftjoin以B为基准用right,都要就用fulljoin 。

㈤ 用sql怎么合并财务报表

select id ,time,sum(2),sum(3),sum(4)... from 表 group by id,time order time 如果time 不是字符类型分组分的不对可以直接转成字符类型到天再用

㈥ SQL多张表如何合并成一张报表

select a.*,b.*,c.* from table1 a,table2 b,table3 c where 关联性

select a.*,b.*,c.* from table1 a join table2 b on .... join table3 c on.....
省略的地方 自行补齐 每个表之间的联系

㈦ 如何用sql语句把多个表合并,并且相同字段的数值汇总

inner join ...on()多表连接
汇总这东西就用函数咯

㈧ sql server 语句如何将3个表合并成一个表

先说一下我的思路:

  • 首选你把表1,表2,表3中的数据都合并在一起表中,使用union all合并在一起。先不要管姓名是否会重复。

  • 但是在执行合并的时候,需要对每一个待合并的数据,打上一个标签,代表这个是哪个表中来的数据,这个标签最后用于区分同一个人的不同的成绩是分别是多少,不能因为合并在一起后,就把同一个人的三项成绩给搞混了。

  • 合并后的数据进行行转列的操作。

具体的SQL语句如下图所示:


㈨ 怎么把SQL多个表关联合并成一个表

用union all+group by。多少ID都没关系吧,除非你说的是有上千个表。。。

selectID,sum(qty1)qty1,sum(qty2)qty2,sum(qty3)qty3(
selectID,qty1,0qty2,0qty3from表1unionall
selectID,0qty1,qty2,0qty3from表2unionall
selectID,0qty1,0qty2,qty3from表3)ast1
groupbyID