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

多表sql总和

发布时间: 2022-05-29 04:38:04

A. sql count 多表总数求和问题

可以这样写:
select
(select count(*) from bumen)+(select count(*) from mrs) as sum_count

如果两个表结果相同的话,也可以用
select count(*) as sum_count
from
(
select * from A
union all
select * from B
) as tmp

B. SQL多个关联表求和语句

设查询客户ID为'A0001',查询语句如下:

select
a.客户ID,
a.项目ID,
sum(a.合同数量) as 该项目总的合同数量,
sum(b.完成数量) as 该项目总的完成数量
from tb2 a,tb3 b
where a.项目ID=b.项目ID and a.客户ID='A0001'
group by a.客户ID,a.项目ID

如果还要包含其他字段:代码如下:

select
c.客户ID,c.项目ID,c.该项目总的合同数量,c.该项目总的完成数量,d.其他字段
from
(select a.客户ID,a.项目ID,sum(a.合同数量) as 该项目总的合同数量, sum(b.完成数量) as 该项目总的完成数量 from tb2 a,tb3 b where a.项目ID=b.项目ID and a.客户ID='A0001' group by a.客户ID,a.项目ID ) c,tb1 d
where
c.客户ID=d.客户ID

C. sql 查询多张表的分数总和

Oracle中有rank函数,可以这样写:SQL> create table zz_ch_mainboard (name varchar2(8),subject varchar2(16),price number);

Table created
SQL> insert into zz_ch_mainboard values ('张三','主板',10);

1 row inserted
SQL> insert into zz_ch_mainboard values ('李四','主板',7);

1 row inserted
SQL> insert into zz_ch_mainboard values ('王五','主板',6);

1 row inserted
SQL> insert into zz_ch_mainboard values ('王五','主板',5);

1 row inserted
SQL> commit;

Commit complete
SQL> create table zz_ch_ems (name varchar2(8),subject varchar2(16),price number);

Table created
SQL> insert into zz_ch_ems values ('张三', '内存', 10);

1 row inserted
SQL> insert into zz_ch_ems values ('李四', '内存', 7);

1 row inserted
SQL> insert into zz_ch_ems values ('王五', '内存', 5);

1 row inserted
SQL> insert into zz_ch_ems values ('张三', '内存', 10);

1 row inserted
SQL> commit;

Commit complete

SQL>
SQL> select name,sum(price) tp,rank() over (order by sum(price) desc) rk from
2 (select name,price from zz_ch_mainboard union all select name,price from zz_ch_ems)
3 group by name;

NAME TP RK
-------- ---------- ----------
张三 30 1
王五 16 2
李四 14 3

D. SQL 多表关联求和

你的例子中,表3是什么意思?求谁的和,数量?金额?
对客户经理=222,品牌编码=1111的数量、金额求和语句如下:
select 客户经理,品牌编码,sum(数量),sum(金额) from 表1 x,表2 y
where x.客户编码=y.客户编码 and 客户经理='222' and 品牌编码='1111'
group by 客户经理,品牌编码;

E. SQL里边的求和语句怎么写

用select sum(列名),sum(列名),sum(列名)…… from 表 where 条件。

F. sql 多表关联 求和语句 怎么写

你结果显示有问题吧,最后id=2怎么来的?

创建表:

createtabletable1
(idint,
类别varchar(10),
货号varchar(3))

insertintotable1values(1,'电子','011')
insertintotable1values(2,'零件','022')
insertintotable1values(3,'主板','033')

createtabletable2
(idint,
货号varchar(3),
数量int)

insertintotable2values(1,'011',5)
insertintotable2values(2,'022',6)
insertintotable2values(3,'033',-8)
insertintotable2values(4,'011',22)
insertintotable2values(5,'022',65)
insertintotable2values(6,'033',81)

查询:

selecta.id,a.类别,a.货号,SUM(b.数量)
fromtable1a,table2bwherea.货号=b.货号anda.货号='011'
groupbya.id,a.类别,a.货号

结果:

G. 求问:sql中多表关联查询求和,主表的数据根据副表的数据重复相加了,等于数据翻倍,这种请怎么处理

首先,我怀疑你or没用明白,该括号括起来的地方没括起来。

然后,你可以先把a表和d表分别汇总,然后再关联起来。

selectsum(d.go),sum(a.letter1),a.region_id1,d.region_id
from
(selectregion_id1,platform_id1,time1,sum(a.letter1)letter1fromdwdswhere`time1`_id1,platform_id1,time1)a
rightjoin
(selectregion_id,platform_id,time,sum(go)gofrompowerwheretime_id,platform_id,time)d
ONd.platform_id=a.platform_id1ANDd.time=a.time1
groupbya.region_id1,d.region_id

另外,你a.region_id1和d.region_id是相等的,你select里都查出来干嘛?

H. sql 多表查询求和

建表a(插入数据过程略)

create table a

(mingzi varchar2(50),

id int);

I. SQL如何统计多表总记录数

有2个方法:
1、select
*,(select
count(u_id)
from
h_travel_line
where
u_id
=
a.u_id)
已线路数
from
h_travel
a
2、SELECT
c.ttt
AS
已线路数,
h_travel.*
FROM
h_travel
INNER
JOIN
(SELECT
COUNT(*)
AS
ttt,
u_id
FROM
h_travel_line
GROUP
BY
STID)
c
ON
h_travel.u_id
=c.u_id

J. sql server 多表之间求和

--假设JE_EmpID就是员工ID的话,统计的语句如下
selectJE_EmpID,SUM(JE_JiFen)asJE_JiFenfrom
(
selectJE_EmpID,JE_JiFenfromJF_'2015-01-01'and'2015-01-31'
unionall
selectJE_EmpID,JE_JiFenfromJF_OnLinewhereCreateTimebetween'2015-01-01'and'2015-01-31'
……
)t1groupbyJE_EmpID