SQL查询代码[关闭]

问题描述 投票:-1回答:3

查询。 1.该公司决定将福特货车的价格提高10%,而所有其他价格保持不变。为系统中的所有车辆生成新的价目表。我做了这个代码,但它仍然给我留言。

ORA-00933:SQL命令未正确结束

Select price, type_of_vehicle, make_of_vehicle 
From type of vehicle, make of vehicle 
Where type_of_vehicle = 'van'
Make_of_vehicle = 'ford' 
Price = Price * 1.10; 

有人能帮忙找到正确的答案吗?

sql oracle
3个回答
0
投票

表名中似乎存在问题,因为它中有空格。表名中没有空格(不常见),尝试使用正确的表名(也许如下)。加上你必须在一个条件之后使用and。如果你想从你的数据库中检索一些信息:(仍然不确定你的表的结构是什么)

Select price, type_of_vehicle, make_of_vehicle 
From typeOfVehicle, makeOfVehicle 
Where type_of_vehicle = 'van'
and Make_of_vehicle = 'ford' 
and price.VehicleId = typeOfVehicle.VehicleId
and typeOfVehicle.VehicleId = makeOfVehicle.VehicleId

编辑: 并且为了你想做什么,哪个更新你应该写的价格......这样:

update price
set price = price *1.10;

此语句将更新所有记录,以便仅更新具有来自另一个表的特定属性的记录,我需要知道表的结构以及它们的PK和FK是什么。如果我了解它,我可以帮助你更多。


2
投票

这里有语法错误

From type of vehicle, make of vehicle

如果这些是您的表的真实名称,那么您需要将它们括在引号中:

From "type of vehicle", "make of vehicle"

如果您需要更新值,正如您的作业似乎建议的那样,那么您将需要执行update from。但是,您应该首先观看教程,因为您显然没有准备编写Oracle代码。


0
投票

你应该做一个更新功能。

UPDATE table_with_price
SET Price = (Price * 1.10)
WHERE type_of_vehicle = 'van' 
AND Make_of_vehicle = 'ford'
© www.soinside.com 2019 - 2024. All rights reserved.