Eu tentei-->
UPDATE tbl AS r
INNER JOIN tbl AS f ON r.columnA = f.columnA
SET r.columnB = f.columnB, r.columnC = f.columnC
WHERE f.columnA = r.columnA
tbl como nome da tabela
antes
EU IA | colunaA | colunaB | colunaC |
---|---|---|---|
1 | 1 | dados1 | |
2 | 1 | dados2 | |
3 | 2 | dados3 | |
4 | 2 | dados4 |
depois
EU IA | colunaA | colunaB | colunaC |
---|---|---|---|
2 | 1 | dados2 | dados1 |
4 | 2 | dados4 | dados3 |
GROUP BY
eMAX
é o que você procura. Mas você precisará reconstruir a tabela.Primeiro, verifique se isso lhe dá o que você deseja:
O resto das etapas para substituir
tbl
por esse resultado:(A
SELECT
parte é idêntica.)MAX
escolherá um valor em preferência aNULL
.