3

あるテーブルで誰かがデータベース内の別のテーブルに送信したものと一致するかどうかを調べています。設定方法がいまいちわかりません。私がしようとしているのは

  IF tableA column A = tableB column B then table A column C = Column C + 1. 

更新方法を試しましたが、うまくいかないようです。どんな助けでも素晴らしいでしょう。ありがとう。

4

3 に答える 3

4

一般的には次のようになります。

UPDATE TABLE_A a JOIN TABLE_B b 
  ON a.join_col = b.join_col AND a.column_a = b.column_b
SET a.column_c = a.column_c + 1

join_col値はおそらく user_id であるため、同じユーザーが で同じ値を持つ行のみを更新TABLE_Aします。TABLE_B

于 2013-03-04T17:00:43.030 に答える
2

mysqlでこれを行うことができると思います:

UPDATE TableA a, TableB b 
SET a.ColumnC = ColumnC + 1 
WHERE a.ColumnA = b.ColumnB; 
于 2013-03-04T16:59:57.787 に答える
1

これがあなたが望むものなら

update tableA set colA=(select (case when b.colB=colA then colC+1 else colC end) from tableB b)
于 2013-03-04T17:03:54.607 に答える