如何有条件地设置mysql行组的值?

时间:2016-06-27 18:48:53

标签: mysql

如果行所属的组符合另一列的条件,我想将行中列的值设置为1。

这是一个例子。鉴于此 table1

name | col | flag
------------------
a      1     0
a      2     0
b      1     0
b      4     0
c      2     0
c      3     0

我想将所有标志列条目设置为1,其中name-column组包含col = 2的行。所以上面的表格将是之后的

name | col | flag
------------------
a      1     1
a      2     1
b      1     0
b      4     0
c      2     1
c      3     1

我有以下代码,但它似乎不起作用(即所有标记条目保持为0)

UPDATE table1 t
LEFT JOIN (
      SELECT name, col=2 flag
      FROM table1
      GROUP BY name
      ) t2
ON t.name = t2.name
SET t.flag=t2.flag

我在这里做错了什么?

0 个答案:

没有答案