我把逻辑算法告诉你 ,语句你就自己写了。用replace函数 去掉对应的字符
例如:select replace(replace(字段,'尊敬……金额',''),'元……变化','')
使用两次REPLACE 第一次去掉前面的字符,第二次去掉后面的字符,只剩下数字了,再格式化这串数字为数值,不然语句出来只是个字符串
get the supplier number of suppliers who supply part P3 but do not supply part P5
取得供应商号码
这些供应商提供 P3 但是不供应 P5
没有表结构。
不过我估计 理论上应该是有2张表, 一张是 供应商表。 一张是 进货表(也就是 什么时候, 从哪个供应商,买了什么)
SELECT
供应商表supplier_number
FROM
供应商表 JOIN 进货表
ON ( 供应商表ID = 进货表供应商ID )
WHERE
进货表采购物品 = 'P3'
AND 进货表采购物品 <> 'P5'
设截图表名:A;另一张统计表名:B
insert into Bselect 合同号,材料名称,规格型号,计量单位,sum(数量) as 总数量
from A
group by 合同号,材料名称,规格型号,计量单位;
我替你建了一张表的:
CREATE
TABLE
[table_test]
(
[name]
[varchar]
(50)
COLLATE
Chinese_PRC_CI_AS
NULL
,
[level]
[varchar]
(50)
COLLATE
Chinese_PRC_CI_AS
NULL
,
[num]
[int]
NULL
)
ON
[PRIMARY]
你拿去执行就行了的。表中数据你自己输入,也不多!
首先说,你的需求不是一张普通查询的结果,而是一个交叉查询的结果,涉及到同一张表中列与行的转换,到网上看看什么是交叉查询。
执行如下查询(以下这个查询在MS
SQL
Server
2000
,2005
,Access,DB2,Sybase,Oracle都通用的):
select
ttname,
isnull((select
sum(num)
from
table_test
where
level='a'
and
table_testname=ttname
),0)as
level_a,
isnull((select
sum(num)
from
table_test
where
level='b'
and
table_testname=ttname
),0)as
level_b,
isnull((select
sum(num)
from
table_test
where
level='c'
and
table_testname=ttname
),0)as
level_c,
sum(num)as
total_num
from
table_test
as
tt
group
by
ttname
就可以得到你要的结果
以上就是关于如何用sql语句将数据库表中字段内容中的数值进行求和全部的内容,包括:如何用sql语句将数据库表中字段内容中的数值进行求和、数据库 求和语句、怎么通过数据库实现特定条件下的求和等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)