[英]how can i make Oracle DB query to two table different column subtraction
CREATE TABLE member (
member_no NUMBER PRIMARY KEY ,
member_money NUMBER NOT NULL,
);
CREATE TABLE MY_PAY(
pay_no NUMBER PRIMARY KEY,
member_no NUMBER,
pay_price number
);
我想要 MEMBER.member_money -(MINUS) MY_PAY.pay_price =?? 和 ?? 插入 MEMBER.member_money
所以我做这个查询
UPDATE MEMBER
set MEMBER.member_money = (select sum (MEMBER.member_point) - (MY_PAY.pay_price)
from MY_PAY
where MY_PAY.member_no = MEMBER.member_no
group by MEMBER.member_no)
where MEMBER.member_no =2 ;
但它不起作用。 我不是英国人,所以我不擅长英语对不起,但我需要你的帮助
您可以使用:
UPDATE MEMBER m
set member_money = member_money - (select sum(pay_price)
from MY_PAY p
where p.member_no = m.member_no)
where member_no =2 ;
其中,对于样本数据:
INSERT INTO member VALUES (2, 2000);
INSERT INTO my_pay
SELECT 1, 2, 100 FROM DUAL UNION ALL
SELECT 2, 2, 200 FROM DUAL;
然后,在UPDATE
:
SELECT * FROM member;
输出:
MEMBER_NO MEMBER_MONEY 2 1700
db<> 在这里摆弄
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.