[SQL] Búsqueda parcial en un campo
Resuelto
sly-bzh
Mensajes publicados
417
Estado
Miembro
-
Fred -
Fred -
Hola a todos,
Acabo de empezar con SQL y después de algunas investigaciones, hay un problema que no consigo resolver.
Tomaré un ejemplo que no es necesariamente pertinente, pero que permite entender bien mi problema:
dentro de una de mis tablas tengo un campo NAME que contiene nombres de personas en la forma NOMBRE_APELLIDO. Me gustaría saber si es posible lanzar una consulta SQL que seleccione todas las personas que tienen el mismo NOMBRE sin tener en cuenta _APELLIDO (una especie de condición WHERE 'contiene al menos NOMBRE')
Sé que mi ejemplo no es muy bueno ya que es muy fácil crear 2 tablas, una para nombres y otra para apellidos y unirlas, pero estoy en un caso donde no puedo hacerlo, tengo datos en forma XXX_YYY y necesito recuperar todos los XXX. No fui yo quien lo creó y la base de datos tiene varias miles de entradas, por lo que no puedo reescribir todo.
Gracias de antemano.
Acabo de empezar con SQL y después de algunas investigaciones, hay un problema que no consigo resolver.
Tomaré un ejemplo que no es necesariamente pertinente, pero que permite entender bien mi problema:
dentro de una de mis tablas tengo un campo NAME que contiene nombres de personas en la forma NOMBRE_APELLIDO. Me gustaría saber si es posible lanzar una consulta SQL que seleccione todas las personas que tienen el mismo NOMBRE sin tener en cuenta _APELLIDO (una especie de condición WHERE 'contiene al menos NOMBRE')
Sé que mi ejemplo no es muy bueno ya que es muy fácil crear 2 tablas, una para nombres y otra para apellidos y unirlas, pero estoy en un caso donde no puedo hacerlo, tengo datos en forma XXX_YYY y necesito recuperar todos los XXX. No fui yo quien lo creó y la base de datos tiene varias miles de entradas, por lo que no puedo reescribir todo.
Gracias de antemano.
7 respuestas
¿Por qué no poner el nombre y el apellido en columnas separadas?
Podrías hacer WHERE NOMBRE like "%pierre%"
Podrías hacer WHERE NOMBRE like "%pierre%"
De hecho, la tabla no se llama NAME y los contenidos no son NOM_PRENOM
Son términos técnicos muy complejos y he simplificado eso para que sea más fácil de entender, pero dado que la estructura es XXXX_YYYYY, esto es exactamente lo mismo.
Inicialmente, los 2 campos no se crearon porque en ese momento no había ninguna utilidad para hacerlo, pero estoy reevaluando completamente toda la base de datos y hoy se está volviendo casi obligatorio hacerlo.
Voy a intentar WHERE like "%....%" y en cuanto tenga la respuesta, vuelvo.
Son términos técnicos muy complejos y he simplificado eso para que sea más fácil de entender, pero dado que la estructura es XXXX_YYYYY, esto es exactamente lo mismo.
Inicialmente, los 2 campos no se crearon porque en ese momento no había ninguna utilidad para hacerlo, pero estoy reevaluando completamente toda la base de datos y hoy se está volviendo casi obligatorio hacerlo.
Voy a intentar WHERE like "%....%" y en cuanto tenga la respuesta, vuelvo.
Funciona, muchas gracias :D
PD. Me acabo de dar cuenta de que el título de la discusión solo es [SQL]. No sé por qué no tomó todo mi título, lo siento mucho por eso, pero no puedo cambiarlo.
PD. Me acabo de dar cuenta de que el título de la discusión solo es [SQL]. No sé por qué no tomó todo mi título, lo siento mucho por eso, pero no puedo cambiarlo.
Bueno, inicialmente había puesto [SQL]"argumentos" de WHERE, pero no sé si realmente se puede hablar de argumentos aquí.
Como quieras, si te parece bien este título, puedes elegirlo o, si no, dejo libre curso a tu imaginación.
Como quieras, si te parece bien este título, puedes elegirlo o, si no, dejo libre curso a tu imaginación.