Hola tengo tablas como esta:ACTUALIZACIÓN MySQL con IN y Subconsulta
entrada de la tabla:
Identificación | total_comments
_____________________
1 | 0
2 | 0
3 | 0
4 | 0
mesa de comentarios:
Identificación | eid | comentario
_____________________
1 | 1 | comentario sdfd
2 | 1 | prueba de prueba
3 | 1 | comentar texto
4 | 2 | dummy comment
5 | 2 | muestra de comentario
6 | 1 | fg dfh fgh
de consulta escribo:
UPDATE entry
SET total_comments = total_comments + 1
WHERE id IN (SELECT eid
FROM comments
WHERE id IN (1,2,3,4,5,6))
resultados que consigo es: entrada
tabla:
Identificación | total_comments
_____________________
1 | 1
2 | 1
3 | 0
4 | 0
resultados esperados:
entrada de la tabla:
Identificación | total_comments
_____________________
1 | 4
2 | 2
3 | 0
4 | 0
Cualquier ayuda será apreciada.
sí, estoy buscando algo así ... mi motivo es ejecutar una consulta de actualización basada en la subconsulta .... es actualizar "totales_comentarios" en la tabla de "entrada" con acutal número de observaciones, para Identificación de "entrada" si funciono consulta que he especificado que sólo se suma 1 para todo número de comentarios que se encuentra en subqery Aquí lo consulta SQL se convierte en después de carreras de subconsulta:. actualizar la entrada total_comments SET = total_comments + 1 WHERE id IN (1,1,1,2,2,1) , por lo que la actualización solo se ejecuta una vez para 1 y 2 id en la tabla de entrada. Porque es como funciona IN. Pero yo quiero un poco cómo ha de hacerlo 4 veces durante 1 y 2 veces por – Johal
2. La única forma en que pienso es que al ejecutar algo como subconsulta que lo que no sé cómo hacerlo: actualizar la entrada SET total_comments = + total_comments @count WHERE id IN (SELECT eid, count (*) as @count FROM comments WHERE id IN (1,2,3,4,5,6)) pero luego no funciona porque hay varias filas y también no sé cómo referir a @count en condición establecida :( – Johal