『壹』 求關於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次之後可獨立完成。