[SQL] Consulta sobre otra consulta

  • Autor Autor Ruiz86
  • Fecha de inicio Fecha de inicio
Ruiz86

Ruiz86

Eta
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
He intentado realizar esta consulta:
Insertar CODE, HTML o PHP:
SELECT * FROM videos WHERE EXITS (SELECT id, nombre count( nombre) AS count FROM videos GROUP BY nombre HAVING count >1)

Pero me da este error:
Insertar CODE, HTML o PHP:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id, nombre count( nombre) AS count FROM videos GROUP BY nombre HAVING cou' at line 1

El caso es que quiero sacar todos los registros que tienen valores duplicados en el nombre y borrarlos, se que empieza con un select (lo hago para que me loes muestre primero), pero luego cambiaria elprimer select por delete. Aunque me da error. ¿Que hago mal?
 
mmm,
a simple vista debe ir EXISTS, en el segundo select te falta una coma(,)
Es mas sintaxis que la consulta en si.
Prueba por ahi.
Suerte.
 
mmm,
a simple vista debe ir EXISTS, en el segundo select te falta una coma(,)
Es mas sintaxis que la consulta en si.
Prueba por ahi.
Suerte.

En el segundo select ya he agregado la coma faltante y ahora me muestra 30.000 filas que son las que quiero eliminar, ¿ahora como hago para eliminarlas agregandole un DELETE antes?
 
En el segundo select ya he agregado la coma faltante y ahora me muestra 30.000 filas que son las que quiero eliminar, ¿ahora como hago para eliminarlas agregandole un DELETE antes?

Si haz verificado lo que te devuelve, pues si, creo q con un delete basta.
Siempre verifica los valores devueltos.:encouragement:
 
Si, están verificados, pero ¿cómo hago ese delete? Me sigue dando error
 
Si, están verificados, pero ¿cómo hago ese delete? Me sigue dando error

No se funcionaria, pero podrías intentar poner toda esta consulta dentro de otra de DELETE. como has hecho con SELECT.
 
Insertar CODE, HTML o PHP:
DELETE FROM videos WHERE id IN (SELECT id count( nombre) AS count FROM videos  GROUP BY nombre HAVING count >1)

Insertar CODE, HTML o PHP:
DELETE FROM videos WHERE id = (SELECT id count( nombre) AS count FROM videos  GROUP BY nombre HAVING count >1)

Insertar CODE, HTML o PHP:
DELETE FROM videos WHERE id EXITS (SELECT id count( nombre) AS count FROM videos  GROUP BY nombre HAVING count >1)

Todas me dan error y es porque estoy escribiendo la primera sentencia mal (el select de la subconsulta funciona bien por separado), ¿Alguien puede ayudarme?
 
los valores duplicados con el mismo nombre también tienen el mismo id?
 
los valores duplicados con el mismo nombre también tienen el mismo id?

No, tienen id diferente. Solo tienen duplicados los nombres.

- - - Actualizado - - -

Tema resuelto :encouragement:
 
Atrás
Arriba