Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta SELECT encontrar los que empiezen con X

Estas en el tema de Consulta SELECT encontrar los que empiezen con X en el foro de Mysql en Foros del Web. Hola señores: tengo estos datos JUAN DANIEL ROBERTO CARLOS AMURRIO CARMEN SALAZAR DAVID JOSE ANDRES ROMERO Ahora necesito una consulta que me encuentre los que ...
  #1 (permalink)  
Antiguo 25/02/2010, 06:24
Avatar de clustering  
Fecha de Ingreso: octubre-2003
Ubicación: Cochabamba
Mensajes: 95
Antigüedad: 21 años, 1 mes
Puntos: 0
Consulta SELECT encontrar los que empiezen con X

Hola señores:

tengo estos datos

JUAN DANIEL
ROBERTO CARLOS AMURRIO
CARMEN SALAZAR
DAVID JOSE
ANDRES ROMERO

Ahora necesito una consulta que me encuentre los que empiecen por A por ejemplo:

el resultado tendria que ser:
ROBERTO CARLOS AMURRIO
ANDRES ROMERO

porque roberto carlos tiene un apellido que comienza con A.

o si busco que comiencen con S me tendria que encontrar CARMEN SALAZAR porque su apellido empieza con S

Gracias..
__________________
Nunca escupas arriba, ni orines contra el viento... :adios:
  #2 (permalink)  
Antiguo 25/02/2010, 07:41
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Consulta SELECT encontrar los que empiezen con X

Los nombres completos están en un solo campo?

Una solución un poco chafa sería

Código SQL:
Ver original
  1. SELECT
  2. nombre_completo
  3. FROM nombres
  4. WHERE concat('-',REPLACE(nombre_completo,' ','-')) LIKE concat('%-','Letra a buscar%');

Ejemplo:

Código MySQL:
Ver original
  1. mysql> select *from nombres1;
  2. +------------------------+
  3. | nombre_completo        |
  4. +------------------------+
  5. | JUAN DANIEL            |
  6. | ROBERTO CARLOS AMURRIO |
  7. | CARMEN SALAZAR         |
  8. | DAVID JOSE             |
  9. | ANDRES ROMERO          |
  10. +------------------------+
  11. 5 rows in set (0.00 sec)
  12.  
  13. mysql> select nombre_completo from nombres1 where concat('-',replace(nombre_completo,' ','-')) like concat('%-','A%');
  14. +------------------------+
  15. | nombre_completo        |
  16. +------------------------+
  17. | ROBERTO CARLOS AMURRIO |
  18. | ANDRES ROMERO          |
  19. +------------------------+
  20. 2 rows in set (0.00 sec)
  21.  
  22. mysql> select nombre_completo from nombres1 where concat('-',replace(nombre_completo,' ','-')) like concat('%-','S%');
  23. +-----------------+
  24. | nombre_completo |
  25. +-----------------+
  26. | CARMEN SALAZAR  |
  27. +-----------------+
  28. 1 row in set (0.00 sec)


saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 25/02/2010, 07:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta SELECT encontrar los que empiezen con X

Para poder hacerlo, la tabla tiene que contener campos separados para nombre y apellido.
¿La tienes así?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 25/02/2010, 11:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 2
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Consulta SELECT encontrar los que empiezen con X

Creo que con un

Código SQL:
Ver original
  1. SELECT * FROM tabla WHERE campo LIKE 'X%';

Obviamente reemplazas el * por los campos que deseas consultar y la X por la letra..
  #5 (permalink)  
Antiguo 25/02/2010, 12:19
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Consulta SELECT encontrar los que empiezen con X

Cita:
Iniciado por Ronnyldinho Ver Mensaje
Creo que con un

Código SQL:
Ver original
  1. SELECT * FROM tabla WHERE campo LIKE 'X%';

Obviamente reemplazas el * por los campos que deseas consultar y la X por la letra..
Ronnyldinho

Eso no solucionaría buscar la primera letra de los apellido(s). Solo los nombres que empiezan por la letra a buscar.

Como dice gnzsoloyo... si los nombres y apellidos están en diferentes campos la solución sería como dices con unos cuantos OR en la sentencia.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 27/02/2010, 18:21
Avatar de clustering  
Fecha de Ingreso: octubre-2003
Ubicación: Cochabamba
Mensajes: 95
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Consulta SELECT encontrar los que empiezen con X

Gracias:

La solucion que da HUESOS52 funciona pero tambien logre hacer funcionar de la siguiente manera..

Código PHP:
SELECT nombre_completo FROM nombres1 WHERE nombre_completo LIKE 'A%' OR nombre_completo LIKE ' A%'
la segunda condicional tiene un espacio por delante..

Gracias a todos..
__________________
Nunca escupas arriba, ni orines contra el viento... :adios:

Etiquetas: encontrar, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:56.