⑴ sql語句製作報表
不用臨時表
直接寫
select 表1.規格,收入數,發出數,結存數 from 表1,表2,表3
where 表1.規格=表2.規格 and 表1.規格=表3.規格
⑵ 用SQL查詢報表
#我看了你的描述,也沒給出表與表之間的關系和欄位,以我的理解後,寫出以下sql語句,經過測試,可以執行成功
#FeeTable:生活費表包含(學生信息表)也就是外鍵
#Student:學生信息表包含(班級信息表)也就是外鍵
#Greade:班級信息表
select
s.nameas學生名稱,
g.nameas班級名稱,
s.genderas學生性別,
s.teacheras招生老師,
f.liveFeeDateas生活費日期,
f.liveFeeas生活費,
f.sleepFeeDateas住宿費日期,
f.sleepFeeas住宿費,
fareFeeDateas校車費日期,
fareFeeas校車費,
(f.liveFee+f.sleepFee+fareFee)as費用合計
.id=f.studentinnerjoinGreadegons.greade=g.id
groupbys.name,g.name,s.gender,s.teacher,f.liveFeeDate,f.liveFee,f.sleepFeeDate,f.sleepFee,fareFeeDate,fareFee
以上SQL語句要結合你的表結構來適當調整表名、欄位、和關聯。
希望能幫到你!
⑶ 如何用SQL來製作報表
你用數據窗口製作一個簡單報表之後,然後點SQL,design->convert to
就可以看見腳本;然後用SQL自己製作
⑷ 如何用SQL編寫復雜的自定義報表
可以看一下這個文庫《如何用SQL編寫復雜的自定義報表》
http://wenku..com/link?url=-
⑸ sql 報表
你的規則有問題:5月2日和 5月3日是最後的數量減前一天最後的數量,5月1日卻是最後的數量減去當天最前面的數量。
現在假設每天都取當天最後的數量減去前一天最後的數量。
SQL SERVER的SQL語句為:
select a.Data_time, a.Data_Data1 - b.Data_Data1 as Data_Data1
from
(select cast(char(10),d.Data_time,111) as Data_time, max(d.Data_Data1) from 表 as d group by cast(char(10),d.Data_time,111)) as a,
(select cast(char(10),dateadd(day,1,e.Data_time),111) as Data_time, isnull(max(e.Data_Data1),0) from 表 as e group by cast(char(10),dateadd(day,1,e.Data_time),111)) as b
⑹ SQL語句製作報表
t1,t2,t3對應表123
列名用了拼音首字母代替,自己看下吧
SELECT isnull(t1.GG,isnull(t2.gg,t3.gg)) 規格,
isnull(SR,0) 收入,isnull(FC,0) 發出,isnull(jc,0) 結存
FROM
t1 full join t2
on t1.gg=t2.gg
full join t3
on t1.gg = t3.gg
⑺ sql報表問題
CREATETABLEtest(部門VARCHAR(10),金額MONEY)
INSERTINTOdbo.test
(部門,金額)
SELECT
'A',20
UNIONALL
SELECT
'B',52
UNIONALL
SELECT
'A',58
UNIONALL
SELECT
'A',46
UNIONALL
SELECT
'A',113
--SELECT*FROMtest
SELECT部門,'0---25'AS金額范圍,COUNT(1)AS數量,SUM(金額)AS總金額
FROMdbo.test
WHERE部門='A'
AND金額BETWEEN0AND25
GROUPBY部門
UNIONALL
SELECT部門,'26---60'AS金額范圍,COUNT(1)AS數量,SUM(金額)AS總金額
FROMdbo.test
WHERE部門='A'
AND金額BETWEEN26AND60
GROUPBY部門
UNIONALL
SELECT部門,'61---150'AS金額范圍,COUNT(1)AS數量,SUM(金額)AS總金額
FROMdbo.test
WHERE部門='A'
AND金額BETWEEN61AND150
GROUPBY部門
結果:
A 0---25 1 20.00
A 26---60 2 104.00
A 61---150 1 113.00
⑻ SQL 統計報表
-- create sample table
create table tab1 (id int, output_style char(1), amount int, output_date date);
insert into tab1 values(1,'D',1000,'2009-11-12');
insert into tab1 values(2,'C',1000,'2009-11-12');
insert into tab1 values(3,'G',1000,'2009-12-12');
insert into tab1 values(4,'Z',1000,'2010-01-01');
insert into tab1 values(5,'D',1300,'2009-11-12');
insert into tab1 values(6,'C',1400,'2009-11-12');
insert into tab1 values(7,'G',2000,'2009-12-12');
insert into tab1 values(8,'Z',1000,'2010-01-01');
-- query
select concat(year(output_date), month(output_date)) as yearmonth,
sum(case when output_style='C' then amount else 0 end) as C_Amount,
sum(case when output_style='G' then amount else 0 end) as G_Amount,
sum(case when output_style='Z' then amount else 0 end) as Z_Amount,
sum(case when output_style='D' then amount else 0 end) as D_Amount from tab1 group by output_date
⑼ sql報表問題
createtable#test
(
idvarchar(10),
projectidvarchar(10),
datesvarchar(10)
)
go
insertinto#test
select'user1','1','11-1'unionall
select'user1','2','11-1'unionall
select'user1','2','11-2'unionall
select'user1','1','11-5'unionall
select'user2','1','11-3'
go
select*from#testpivot(max(projectid)fordatesin([11-1],[11-2],[11-3],[11-4],[11-5]))a
沒有寫玩,給個思路---你自己在琢磨一下
⑽ 求關於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科目編碼