gpt4 book ai didi

sql - 如何将两个和的结果相加?

转载 作者:行者123 更新时间:2023-12-02 08:41:22 26 4
gpt4 key购买 nike

是否可以添加两个 Sum() 函数的结果?

表格:

  DROP TABLE MATCH;
CREATE TABLE MATCH
(M_ID VARCHAR2 (4) NOT NULL,
HT_ID VARCHAR2 (4),
AT_ID VARCHAR2 (4),
P_F NUMBER (3),
P_A NUMBER (3));

INSERT INTO MATCH VALUES
('M01','T1', 'T2', 2, 0);

INSERT INTO MATCH VALUES
('M02','T1', 'T2', 1, 1);

INSERT INTO MATCH VALUES
('M03','T1', 'T2', 0, 2);

INSERT INTO MATCH VALUES
('M04','T1', 'T2', 0, 2);

INSERT INTO MATCH VALUES
('M05','T2', 'T1', 2, 0);

INSERT INTO MATCH VALUES
('M06','T2', 'T1', 0, 2);

INSERT INTO MATCH VALUES
('M07','T2', 'T1', 1, 2);

INSERT INTO MATCH VALUES
('M08','T2', 'T1', 0, 2);

我想要获得的是主队“T1”的积分((P_F) 积分和反对(P_A) 积分)。

为了让它更清晰一些,我执行了以下操作,总共产生了 9

 select sum(P_F)
from match
where HT_ID='T1';

select sum(P_A)
from match
where AT_ID='T1';

我尝试了以下操作,但它为该特定团队添加了两列,结果为 17:

 select sum(P_F+P_A)
from match
where ht_id='T1' or at_id='T1';

如何在一个查询中相加两个和?提前致谢。

最佳答案

select
sum(case when HT='T1' then P_F else 0 end),
sum(case when AT='T1' then P_A else 0 end)
from match

添加:

select
sum(case when HT='T1' then P_F else 0 end) +
sum(case when AT='T1' then P_A else 0 end)
from match

关于sql - 如何将两个和的结果相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com