Mysql ORACLE中同一表中两列的值匹配时的Update语句
如何编写查询以更新Oracle中名称、城市和数量匹配的状态列Mysql ORACLE中同一表中两列的值匹配时的Update语句,mysql,sql,oracle,Mysql,Sql,Oracle,如何编写查询以更新Oracle中名称、城市和数量匹配的状态列 ID NAME CITY QTY STATUS ---------- --------------------- 1 ABC CHN 50 0 2 XYZ MUM 20 0 3 MNO KOL 30 0 4 ABC CHN 50 0 5 XYZ MUM 20 0 6 MNO KOL 40 0 查询执行
ID NAME CITY QTY STATUS
---------- ---------------------
1 ABC CHN 50 0
2 XYZ MUM 20 0
3 MNO KOL 30 0
4 ABC CHN 50 0
5 XYZ MUM 20 0
6 MNO KOL 40 0
查询执行后的结果
在给定的示例中,第1行和第4行的city和name值相等。第2行和第5行也是类似的。我猜您需要
UPDATE table_name a
SET status = (SELECT count(*)
FROM table_name b
WHERE a.name = b.name
AND a.qty = b.qty
AND a.id != b.id);
我猜你想
UPDATE table_name a
SET status = (SELECT count(*)
FROM table_name b
WHERE a.name = b.name
AND a.qty = b.qty
AND a.id != b.id);
我猜你想
UPDATE table_name a
SET status = (SELECT count(*)
FROM table_name b
WHERE a.name = b.name
AND a.qty = b.qty
AND a.id != b.id);
我猜你想
UPDATE table_name a
SET status = (SELECT count(*)
FROM table_name b
WHERE a.name = b.name
AND a.qty = b.qty
AND a.id != b.id);
更新tblName集合状态,其中名称位于('ABC','XYZ')代码>@Ullas:嗨,我举了个例子。我的意思是,在这些列(姓名和城市)中应该有两个匹配的记录。@Tapeshvar如果有多个列,那么在
clause@Ashes:在上述示例中,我的意思是,如果两条记录具有相同的名称和相同的城市,则更新状态列update tblName SET STATUS WHERE NAME In('ABC','XYZ')代码>@Ullas:嗨,我举了个例子。我的意思是,在这些列(姓名和城市)中应该有两个匹配的记录。@Tapeshvar如果有多个列,那么在
clause@Ashes:在上述示例中,我的意思是,如果两条记录具有相同的名称和相同的城市,则更新状态列update tblName SET STATUS WHERE NAME In('ABC','XYZ')代码>@Ullas:嗨,我举了个例子。我的意思是,在这些列(姓名和城市)中应该有两个匹配的记录。@Tapeshvar如果有多个列,那么在
clause@Ashes:在上述示例中,我的意思是,如果两条记录具有相同的名称和相同的城市,则更新状态列update tblName SET STATUS WHERE NAME In('ABC','XYZ')代码>@Ullas:嗨,我举了个例子。我的意思是,在这些列(姓名和城市)中应该有两个匹配的记录。@Tapeshvar如果有多个列,那么在
clause@Ashes:在上面的示例中,我的意思是,如果两个记录具有相同的名称和相同的城市,则更新状态列