2012-02-29 10 views
2

SQLクエリの作成に問題があり、誰かが私を助けてくれることを期待していました。MySQLクエリ。

  1. は「値(仮定数2)「製品」テーブル
  2. 乗算定数から回「価値」の欄を「prod_value」欄を取る: は、ここで私は私のクエリが何をしたいです"値の間の1対1関係に対応するテーブル< - >製品。
  3. 「製品」テーブルの「prod_value」列を新しい更新値に更新します。たとえば、

... ここでは、テーブルです: 値

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

製品(前)

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

と一定の仮定=私が欲しいものを次に2

クエリを実行すると、次のようになります。

+ 2 * 10

私は、これは1つのクエリを行っていることを期待して

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 –