我有两张表T
和T1
Ť
id p o
1 47 1
2 47 2
3 47 25
T1
id p
1 47
2 48
3 49
我希望找到一种方法将T作为下表
id p o
1 47 1
2 47 2
3 47 0
如果T.p in (select T1.p from T1)
且字段o
的值为最大值,则更新o
进入0
。
我尝试以下查询,但它不起作用
Update T
SET T.o=0
WHERE T.P IN (select T1.p from T INNER join select T.p from T ON T.p=T1.p)
AND T.o In (select Max(T.o) from T)
有关详细信息Sqlfiddle
非常感谢提前。
答案 0 :(得分:2)
Update T
SET T.o=0
WHERE T.P IN (select T1.p from t1 )
AND t.o IN (SELECT * FROM(SELECT MAX(t.o) FROM t)x)
答案 1 :(得分:1)
尝试这样的事情:
UPDATE T
SET T.o=0
WHERE T.p in (select T1.p from T1)
AND T.o In (select Max(T.o) from T)