Buscar Registros Repetidos Con Alguna Condición Más


Objetivo: Buscar Registros Repetidos Con Alguna Condición Más
Hola a todos

Bueno, me surge una importante duda. Os pongo en contexto. Sabeis que hago un catalogador de películas y quiero agregar la posibilidad de localizar aquellas películas que por error se hayan introducido varias veces. Siendo la tabla 'fichas' y el campo 'titulo', la consulta que hace esto es la siguiente

SELECT * FROM fichas WHERE titulo IN (SELECT titulo FROM fichas GROUP BY titulo HAVING COUNT(*) > 1) ORDER BY titulo


El problema es que hay muchas películas que tienen el mismo nombre pero son distintas. Por ejemplo, los remakes. Entonces, para poder optimizar la búsqueda, quiero que la consulta me ofrezca los registros repetidos en titulo y año. El nombre del campo año es 'anho' (es lo malo de la ñ... XD). Así, los remakes de distinto año no serían duplicados y es muy raro que haya dos películas distintas con mismo nombre el mismo año.

¿Alguna idea?

Objetivo: Re: Buscar Registros Repetidos Con Alguna Condición Más
No entiendo muy bien la intención de esa consulta. Si lo que quieres es localizarlas ¿porqué complicarte la vida con group by?
"Select * from fichas where titulo like "%el titulo que busco%" order by anho" es suficiente para localizar todas las de ese título.
"Select * from fichas order by titulo,anho" si lo que haces es hojear la lista de películas.

Mucho mäs simple y rápido.

De todas formas deberías considerar la posibilidad de añadir un índice único a tus tablas, aceleran todo muchísimo y también la posibilidad de depurar la entrada de los formularios para que no haya películas repetidas...

Suerte.

Perfil MP  
Objetivo: Re: Buscar Registros Repetidos Con Alguna Condición Más
Hola Shordi, te comento

Es que la idea es seleccionar solo aquellos registros repetidos (de los cuales desconozco el titulo). La tabla tiene un indice ('id_ficha'), pero el usuario va añadiendo películas y puede darse el caso de que tenga el titulo repetido. Lo que comentas me ofrece los títulos pero yo solo quiero aquellos que no solo coincide el titulo, sino también el año

Un saludo y gracias

Objetivo: Re: Buscar Registros Repetidos Con Alguna Condición Más
Eso se puede hacer de varia maneras, por ejemplo así:

SELECT a.titulo, a.anho FROM fichas a, fichas b WHERE a.id_ficha<>b.id_ficha AND a.titulo=b.titulo AND a.anho=b.anho


Prueba y me cuentas qué tal te ha ido.

Suerte

última edición por shordi el Jueves, 26 Abril 2012, 19:13; editado 2 veces
Perfil MP  
Objetivo: Re: Buscar Registros Repetidos Con Alguna Condición Más
Magnífico Shordi

Hace exactamente lo que necesitaba. Muchas gracias


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1232s (PHP: -35% SQL: 135%)
Consultas SQL: 23 - Debug off - GZIP Activado