我有一个表MYTABLE
,其中列product
,version
和valid
(布尔值)。
让我们说一些记录如下:
之前
product1 - 1 - 0
product1 - 2 - 0
product1 - 3 - 1
我想要的是选择带有product1和版本2的第二条记录,并将其有效列更新为1,然后将具有相同产品和版本的所有其他记录更新为有效值为0.所以在表格之后如:
后
product1 - 1 - 0
product1 - 2 - 1
product1 - 3 - 0
我试过
UPDATE MYTABLE
SET valid = EXISTS(
SELECT * FROM MYTABLE AS T2
WHERE T2.product = 'product1' AND T2.version=2)
并将所有记录有效列更改为0 ...
答案 0 :(得分:1)
您可以尝试执行2更新
UPDATE LABELS
SET valid = 1 where product='product1' AND version=2;
UPDATE LABELS
SET valid = 0 where product='product1' AND version!=2;