更新者和mysql的

更新者和mysql的

问题描述:

数= 1我有这样的SQL查询与A组表:更新者和mysql的

SELECT * 
FROM caduti 
GROUP BY foto 
HAVING count(foto) = 1 

我有表caduti具有重复值foto列,需要从foto柱值来更新列foto_ok仅适用于列中唯一的值。

我尝试了好几种UPDATE语句像这样的

UPDATE caduti 
SET foto_ok=foto 
FROM (
SELECT * 
FROM caduti 
GROUP BY foto 
HAVING count(foto) = 1 
) 

,但我无法弄清楚如何使它发挥作用。任何帮助?

您可以从内部查询中获得唯一的foto,然后应用自联接并更新所有行。

UPDATE (SELECT foto 
FROM caduti 
GROUP BY foto 
HAVING count(foto) = 1) u 
INNER JOIN caduti AS c ON c.foto = u.foto set foto_ok=u.foto; 
+0

不明白你和c代表什么。我已经试过查询,因为它是,但给我6静态错误和sql错误#1052 - 列:'foto'从字段列表是'含糊 – Pier67

+0

@ Pier67当然你会得到错误。因为照片栏不明确。我已经更新了答案。另外,你和c只是别名。我不知道,你怎么不知道别名的命名。 – Ravi

+0

我知道什么是别名命名,但我需要一些时间来了解如何使用它,因为我是一个新手。最后,我用caduti代替c,让它保持原样并且工作!所以非常感谢你! – Pier67