sql的问题(0分)

  • 主题发起人 主题发起人 wzb_shipman
  • 开始时间 开始时间
W

wzb_shipman

Unregistered / Unconfirmed
GUEST, unregistred user!
一个公司每天有很多工程项目各个工程项目的施工单位不同要求输入一个时间范围段根据
这个时间范围段求出每个月或每个年,工程总金额列如

工程单位 日期 金额
a 2002.3.4 500$
b 2002.3.5 600$
c 2002.3.12 800$
a 2002.3.24 700$
a 2002.4.23 1000$
c 2002.5.6 1000$
输入 日期范围 2002.3-----2002.7
得出
3 4 5 6 7
a 1200$ 1000$ 0$ 0$ 0$

b 600$ 0$ 0$ 0$ 0$

c 800$ 0$ 1000$ 0$ 0$
 
直接按上面的表是办不到的。
在表中建多两个字段,用来存储年份和月份
假设表名为a,sql语句可以这么写
select a.工程单位, a.年份,a.月份,sum(金额)
from a
group by a.工程单位,a.年份,a.月份
 
sql server????
用 CONVERT() 处理日期
 
select a.工程单位, substr(a.日期,0,4) ,substr(a.日期,5,2),sum(金额)
from a
group by a.工程单位,substr(a.日期,0,4) ,substr(a.日期,5,2)

看可以吗???

substr函数的具体用法你查一下 ,我记的不是很清楚!

oracle 下SQL可以这样查询!
 
思路是group by 工程单位, 日期年, 日期月
难点是把‘日期’拆分为年和月
具体的SQL语句要看你用的是哪种数据库以及字段‘日期’的类型是什么。
如果是SQL Server数据库,对于字符型字段用SubString函数拆分,
对于日期型字段用DatePart函数拆分
 
有事好久没上DFW谢谢个位DFw :)
 
接受答案了.
 
后退
顶部