【发布时间】:2018-10-18 01:15:11
【问题描述】:
我是 SQL 初学者。
我有两张桌子,比如第一张,第二张。
第一个表的pid 列和第二个表的pid 列相同。我必须从第一个表中获取price,从第二个表中获取quantity,将这些值(最终)相乘并在第二个表中的price 列中更新该最终值。
我试过了,但它不起作用。谁能帮我?提前致谢。
第一张桌子
Name Null? Type
------ -------- ------------
PID NOT NULL NUMBER(38)
PNAME NOT NULL VARCHAR2(20)
PPRICE NOT NULL FLOAT(126)
PAVAIL NOT NULL NUMBER(38)
第二张桌子
Name Null? Type
------------ -------- ------------
ORDERID NOT NULL NUMBER(38)
PID NUMBER(38)
CUSTOMERNAME NOT NULL VARCHAR2(20)
PHNO NOT NULL NUMBER(38)
QTY NOT NULL NUMBER(38)
PRICE NOT NULL FLOAT(126)
我使用了这个查询,但它不起作用:
update first f, second s
SET s.price = f.pprice * s.qty
where s.pid EXISTS (select second.pid from first, second
where (first.pid=second.pid);
【问题讨论】:
-
您使用的是哪个 dbms? (该更新版本是特定于产品的。)
-
我正在使用oracle sql developer
标签: sql oracle select sql-update