2017-12-17 1 views
-1

입니다. 1. 회사는 다른 모든 가격이 동일하게 유지되는 동안 ford 밴의 가격을 10 % 인상하기로 결정했습니다. 시스템의 모든 차량에 대해 새로운 가격 목록을 생성하십시오. 이 코드를 작성했지만 여전히 메시지를 받고 있습니다.SQL 쿼리 코드는

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; 

을 종료?!

+1

당신의 테이블은 실제로 '차량 유형'과 '차량 만들기'라는 이름이 붙어 있습니까? 이 경우에는'FROM "타입의 차량 등을 따옴표로 묶어야합니다. 일반적으로 이와 같은 테이블 이름을 사용하는 것은 좋지 않으므로 SELECT 문에도 현대적인'JOIN' 구문을 사용하는 것이 좋습니다. 실제로 여기에 UPDATE 문이 필요하다.) – Filburt

답변

0

it.table 이름에 공백이 있으므로 테이블 이름에 문제가있는 것 같습니다 (일반적인 것은 아니지만) 올바른 테이블 이름을 사용하려고합니다 (아마도 sth가 다음과 같이 사용됩니다). 더하기 당신은 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 

편집 (여전히 테이블 '구조 무엇인지 확실하지) :
당신이 뭘 원하는지, 이는 가격을 업데이트하기위한 이 같은 STH를 작성해야합니다

update price 
set price = price *1.10; 

이 문은 다른 테이블에서 특정 속성 만 레코드를 업데이트하기 위해, 모든 레코드를 업데이트 할 것입니다, 당신의 테이블과 어의 구조를 알 필요가 at PKFK입니다. 내가 그들을 안다면 너를 더 도울 수있어.

+0

네, 저에게 많은 도움을주었습니다. –

0

대신 업데이트 기능을 수행해야합니다. 사람들은 당신의 테이블의 실제 이름을 경우

UPDATE table_with_price 
SET Price = (Price * 1.10) 
WHERE type_of_vehicle = 'van' 
AND Make_of_vehicle = 'ford' 
+0

도움을 주셔서 감사합니다. –

+0

제가 이해할 수 있듯이 질문은 생성 될 새로운 가격 목록에 대해서만 테이블이 업데이트되도록 요구하지 않습니다. 구문에 관해서는 모든 데이터베이스에서 확실히 해제되어 있습니다. –

+0

나는 업데이 트를 시도하고 나 에게이 메시지를 제공합니다. ORA-00971 : SET 키워드가 누락되었습니다. –

2

당신은 여기에 구문 오류

From type of vehicle, make of vehicle 

을 가지고, 당신은 따옴표로 묶어야합니다 :

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

당신이 필요한 경우 과제가 제안한 것처럼 값을 업데이트하면 update from을 실행해야합니다. 그러나 오라클 코드를 작성하지 않으므로 튜토리얼을 먼저 읽어야합니다.