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

sql语句设计报表

发布时间: 2023-01-10 12:01:15

‘壹’ 求关于sql报表的语句

CreateTable表A
(
科目编码VArchar(10),
科目名称VArchar(100),
编码级别int,
上级编码VArchar(10),
科目余额int
)

Insertinto表Avalues(101,'现金',1,'',500)
Insertinto表Avalues(102,'银行存款',1,'',300)
Insertinto表Avalues(10201,'建行',2,'102',100)
Insertinto表Avalues(10202,'工行',2,'102',200)
Insertinto表Avalues(103,'固定资产',1,'1',1000)
Insertinto表Avalues(10301,'一般设备',2,'103',900)
Insertinto表Avalues(1030101,'车辆',3,'10301',900)
Insertinto表Avalues(103010101,'小型客车',4,'1030101',400)
Insertinto表Avalues(10302,'其他',2,'103',100)
Insertinto表Avalues(103010102,'货车',4,'1030101',500)

Select
casewhen编码级别=1then科目名称else''endAs科目名称,
casewhen编码级别=2then科目名称else''endAs科目名称,
casewhen编码级别=3then科目名称else''endAs科目名称,
casewhen编码级别=4then科目名称else''endAs科目名称,
科目余额
from表A
orderby科目编码

‘贰’ SQL语句制作报表

不用临时表
直接写
select 表1.规格,收入数,发出数,结存数 from 表1,表2,表3
where 表1.规格=表2.规格 and 表1.规格=表3.规格

‘叁’ 请教如何编写以下需求的SQL报表

楼主,你这种报表是典型的自然连接。可以使用下面这种方法进行连接:

select*from(
selectt2.单号as[单号],t2.内码as[父项编号],t2.用量1as[用量1],t3.子项编号as[子项编号],t3.用量2as[用量2]fromaast2
leftouterjoinbast3
ont2.内码=t3.内码
)ast1wheret1.子项编号isnotnull

‘肆’ 请问用SQL如何编制以下报表

SQL Server 2008及以上的话可以这样:

--测试数据
with表A(仓库,物料代码,物料名称,规格型号,单位,单价,收入数量,收入金额)as(
select'原料仓','01.01','原料1','注塑','PCS',2,100,200unionall
select'原料仓','01.02','原料2','','PCS',3,100,300unionall
select'原料仓','01.03','原料3','喷油','PCS',4,100,400unionall
select'原料仓','01.15','原料6','','PCS',1.2,1000,1200unionall
select'成品仓','02.00001','等级品测试A','','PCS',23.37,2,46.74unionall
select'成品仓','02.00004','等级品测试B','','PCS',46.34,2,92.67unionall
select'成品仓','02.03','成品3','','PCS',16.54,30,496.16unionall
select'成品仓','02.04','成品4','','PCS',2.13,200,426.15unionall
select'成品仓','02.06','替代测试0911','','PCS',0.4,100,40
)
--按仓库分类汇总,并与原始数据一起展示
select仓库,物料代码,物料名称,规格型号,单位,单价,收入数量,收入金额from(
select0asordercode,*from表A
unionall
selectgrouping_id(仓库),isnull(仓库+'(小计)','合计'),null,null,null,null,null,sum(收入数量),sum(收入金额)from表A
groupbycube(仓库)
)t
orderbyordercode,仓库

结果:

‘伍’ 如何生成指定SQL语句的AWR报表

1,生成指定SQL语句的统计报表
如果希望对多实例的数据库做对比,那就要使用$Oracle_HOME/rdbms/admin/awrddrpi.sql脚本了。该脚本的操作基本与单实例基本相同,这里不再演示,感兴趣的朋友可以自己测试下。
2 ,生成指定SQL语句的统计报表
这项统计专门用来分析某条指定的SQL语句,通过awrsqrpt.sql脚本,awr能够生成指定sql(曾经执行过的SQL)的执行计划,消耗的资源等等信息,有助于DBA进行SQL调优。
[oracle@even ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Proction on Sun Dec 23 11:39:53 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Proction
With the Partitioning, Oracle Label Security, OLAP and Data Mining options
SQL> exec dbms_workload_repository.create_snapshot;
PL/SQL procere successfully completed.
SQL> @$ORACLE_HOME/rdbms/admin/awrsqrpt.sql
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
----------- ------------ -------- ------------
2100083002 TEST 1 test

Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: html
Type Specified: html

Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ -------- ------------ ------------ ------------
* 2100083002 1 TEST test even.oracle.
com
Using 2100083002 for database Id
Using 1 for instance number

Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.

Enter value for num_days: 1
Listing the last day's Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
test TEST 34 23 Dec 2012 11:00 1
35 23 Dec 2012 11:30 1
36 23 Dec 2012 11:40 1

Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 34
Begin Snapshot Id specified: 34
Enter value for end_snap: 36
End Snapshot Id specified: 36

Specify the SQL Id
~~~~~~~~~~~~~~~~~~
注意,这里要指定分析的SQL_ID,你可能想问,要分析的SQL ID从何而来呢?一般来说,SQL_ID可以通过V$SQL(及其它相关视图),要么是通过AWR/STATSPACK等工具。
Enter value for sql_id: 4vsh055snc3
SQL ID specified: 4vsh055snc3
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrsqlrpt_1_34_36.html. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: /home/oracle/awr_20121231.html
Using the report name /home/oracle/awr_20121231.html

<HTML><HEAD><TITLE>AWR SQL Report</TITLE><style type="text/css">body.awr {font:bold 10pt Arial,Helvetica,Geneva,sans-serif;color:black;
......
......
.....
</BODY></HTML>
Report written to /home/oracle/awr_20121231.html

‘陆’ 用SQL语句写出库存交易明细帐类型的报表,该如何书写呈现下面的显示形式

select MX001,decode(MX003,'1','入库','出库') rck,Mx002,MX004 ,
sum(decode(mx003,'1',mx002,0)-decode(mx003,'-1',mx002,0)) over(order by mx001,mx004) aa
from JYMX t

‘柒’ 如何生成指定SQL语句的AWR报表

选关系模型点击上方"数据库"或"database""generate database",选择"directroy"或"保存路径",再输入"File name",点击"确定能指定路径生成指定.sql文件
注意设计关系模型时候选数据库类型会决定终生成.sql文件所对应数据库类型

‘捌’ 如何用mysql或mssql语句建如下表格

MYSQL语句为:
create database test;
use test;
create table classinfo(classid int primary key, classname varchar(20),primary key (classid) );
insert into classinfo values (1, '1班');
insert into classinfo values (2, '2班');
insert into classinfo values (3, '3班');
create table stuinfo(stdid varchar(20),classid int,stuname varchar(20),stusex varchar(2),studirth datetime,stuaddress varchar(200), primary key (stuid));
insert into stuinfo value('1-1',1,'甲','男','2009-1-1','黄泉路');
insert into stuinfo value('1-2',1,'乙','男','2009-1-1','黄泉路');
insert into stuinfo value('1-3',1,'丙','男','2009-1-1','黄泉路');

其实可以交互式点鼠标输入,无需语句。

‘玖’ 如何用SQL来制作报表

你用数据窗口制作一个简单报表之后,然后点SQL,design->convert to
就可以看见脚本;然后用SQL自己制作

‘拾’ 复杂数据报表的sql 编写求助

本人也是做这行的,有11年了,就你的问题只想跟你说:
1、SQL语句其它没什么难度,首先了解左连接,右连接,全连接这三个方面的内容。
2、复杂SQL也是基于简单SQL的基础上,是一种简单SQL的灵活应用已。
3、有前辈带领的环境下,最好向前辈门多多提问,不用看书,看一天书,不如前辈一分钟的指导
4、业务部门有报表需求时,你要求接个简单的,或从前辈那接过来,亲自完成,但代码一定要亲自写,不懂问前辈,这比什么进步都快。
5、我带过很多的徒弟,一般这么要求他们,进步也很快,保证3次之后可独立完成。