2016-06-17 18 views
1

数分ごとにcronジョブを実行するSQL文を作成する際に問題があります。同じIDで異な​​る国の更新テーブル

は私がItemCode S(IDが)同じことをしている一つの列を均等化したいが、それぞれの国が

表異なっている:私はOnHand where country = deを取り、OnHand where country = huに入れたい

+----------+--------+---------+ 

| ItemCode | OnHand | country | 

+----------+--------+---------+ 

| 08040 | 450 | de  | 

+----------+--------+---------+ 

| 08040 | 000 | hu  | 

+----------+--------+---------+ 

| 08040 | 145 | si  | 

+----------+--------+---------+ 

UPDATE sap_items 
    ON sap_items.ItemCode = sap_items.ItemCode AND 
     sap_items.country='de' 
SET sap_items.OnHand = sap_items.OnHand 
WHERE sap_items.country='hu'"; 

私は、これは間違っていることを理解 - (複数ItemCodeのためにそれらの7000を持っています)。しかし、私は正しくそれを置く方法がわかりません。

答えて

0

現在の構文はオフです。 UPDATEと自己結合を組み合わせることができます:

UPDATE sap_items AS t1 
INNER JOIN sap_items AS t2 
    ON t1.ItemCode = t2.ItemCode 
SET t1.OnHand = t2.OnHand 
WHERE t1.country = 'hu' AND t2.country = 'de' 
+0

その作業!どうもありがとうございました。はい、私の構文は本当に悪いです。あなたはどこから学習を始めるべきか推薦状を持っていますか?そしてそれに入るための最善の方法は何ですか? –

+0

正直言って、Stack Overflowは学ぶのに最適な場所です。 TechOnTheNetも非常に良いリソースです。 –

関連する問題