2012-02-29 4 views
2

SQL 쿼리를 작성하는 데 문제가 있습니다. 누군가가 나를 도울 수 있기를 바랬습니다.MySQL 쿼리.

  1. 는 "값 (가정 수 2)"제품 "테이블
  2. 곱하기 상수에서 배"가치 "열을"prod_value "열을 가지고 : 여기 내 쿼리가 수행 할 작업입니다 "값 < -> product 간의 일대일 관계에 해당하는 테이블입니다.
  3. "product"테이블의 "prod_value"열을 새로 업데이트 된 값으로 업데이트하십시오. 예를 들어

... 여기에 테이블의 : 값

id  |  worth  |  product_id  | 
    1  |   10  |   1   | 

제품 (전)

id |  name  |  prod_value | 
    1  | product1  |   100  | 

및 일정한 가정 = 내가 원하는 그런 다음 2

쿼리를 실행 한 후 다음과 같습니다 :

+ 2 * 10

나는이 하나 개의 쿼리를 수행하도록 기대했다

id |  name  |  prod_value | 
    1  | product1  |   120  | 

120 100 (이전 값)에서 유래 (후)

제품이 가능하다조차? 누구든지 나를 도울 수 있다면 매우 감사 할 것입니다! 감사합니다 :)

답변

3
UPDATE `product` 
INNER JOIN `value` ON `product`.`id`= `value`.`product_id` 
SET `product`.`prod_value` = `product`.`prod_value` + 2* `value`.`worth` 
+0

MMMM은, 임 당신이 원하는 가정 : UPDATE를' 은 INNER'product'.'id' ='value'.'product_id' SET'product' ON '값'을 가입 product' .prod_value' ='product'.prod_value' + 2 *'value'.worth' 하지만 작동하지 않았습니다. 어딘가에 세트가 있어야하나요? 도와 주셔서 감사합니다. –

+0

오타를 바로 잡기 위해 내 게시물을 편집했습니다. 오류 메시지는 무엇입니까? 결합 된 뷰를 쓰기 가능하게 만드는 데 필요한 인덱스가 있습니까? –

+0

"결합 된 뷰를 쓰기 가능하게 만드는 데 필요한 인덱스가 있습니까?" 아주 좋은 질문입니다. 이것에 대해 살펴 보겠습니다. 나는 데이터베이스 전문가가 아니기 때문에 그것에 대한 연구가 필요하다. "INNER"근처에있는 임 : 구문 오류. 다음 페이지의 것과 비슷합니다. http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=161676 –