right - substring postgresql
GROUP BY en la cláusula UPDATE FROM (1)
Realmente necesito hacer algo como eso:
UPDATE table t1
SET column1=t2.column1
FROM table t2
INNER JOIN table t3
USING (column2)
GROUP BY t1.column2;
Pero postgres está diciendo que tengo un error de sintaxis sobre la cláusula GROUP BY. ¿Cuál es una manera diferente de hacer esto?
La instrucción UPDATE no es compatible con GROUP BY, consulte la documentación . Si está intentando actualizar t1 con la fila correspondiente de t2, desearía usar la cláusula WHERE algo como esto:
UPDATE table t1 SET column1=t2.column1
FROM table t2
JOIN table t3 USING (column2)
WHERE t1.column2=t2.column2;
Si necesita agrupar las filas de t2 / t3 antes de asignarlo a t1, necesitará usar una subconsulta como esta:
UPDATE table t1 SET column1=sq.column1
FROM (
SELECT t2.column1, column2
FROM table t2
JOIN table t3 USING (column2)
GROUP BY column2
) AS sq
WHERE t1.column2=sq.column2;
Aunque como se formuló, no funcionará porque t2.column1 no se incluye en la instrucción GROUP BY (tendría que ser una función agregada en lugar de una simple referencia de columna).
De lo contrario, ¿qué es exactamente lo que estás tratando de hacer aquí?