PDA

Ver la Versión Completa : Consulta que comience en una letra y termine en otra


Adrian Murua
31-08-2008, 19:02:02
Estimados Amigos :

Tengo una tabla que contiene el nombre y la direccion de un grupo de personas y deseo hacer una consulta que me devuelva todos los nombres conprendidos entre las letras 'A' y 'C', y no se como realizarla . Habia pensado en el operador LIKE pero solo hasta donde conozco puedo seleccionar los apellidos que comiencen con A [ 'A%' ] o con C [ 'C%' ] .

Espero que puedan ayudarme .

Muchas Gracias.:rolleyes:

TOPX
31-08-2008, 19:44:19
Adrian,

En la misma palabra, así,

WHERE campo LIKE 'A%%C'

O de entre la "lista alfabética", así,

WHERE campo LIKE 'A%%'
OR campo LIKE 'B%%'
OR campo LIKE 'A%%'

??

roman
31-08-2008, 19:47:02
No sé, ¿has intentado algo como esto?


select * from tabla
where nombre >= 'A' and nombre < 'D'


// Saludos

Caral
31-08-2008, 19:49:09
Hola
No sabia que se podia con mayor o menor que con string.
Una cosa Roman; Asi vera los registros que empiezan con esas letras?, tu crees?.
Saludos

Adrian Murua
31-08-2008, 20:28:06
Gracias por sus respuestas :

He probado
SELECT * FROM `afiliados` WHERE (APELLIDO LIKE 'A%') OR (APELLIDO LIKE 'B%') OR (APELLIDO LIKE 'C%') ORDER BY APELLIDO
y me funciona de maravillas ya que era entre la lista alfabetica como me decia TOPX,

de la forma :
SELECT * FROM `afiliados` WHERE (APELLIDO > 'A') AND (APELLIDO < 'D') ORDER BY APELLIDO

como dice roman tambien funciona

Muchas Gracias por su respuestas.

Caral
31-08-2008, 20:40:27
Hola
Ya me extrañaba a mi que a Roman se le escapara algo.
Saludos

roman
31-08-2008, 20:51:07
Hola
No sabia que se podia con mayor o menor que con string.


De hecho, según acabo de ver, también se puede así:


select * from tabla
where nombre between 'A' and 'D'
order by nombre


// Saludos

Caral
31-08-2008, 20:56:27
Hola
Es bueno saber que en sql como en delphi se pueden hacer las cosas de muchas maneras, pero me pregunto?, cual sera mejor?, o sera un asunto antojadizo.
Saludos

roman
31-08-2008, 21:02:05
Pues no creo que haya mayor diferencia, excepto que si el rango es amplio, digamos de C a R, es más cómodo escribir el < y > o el between que usar un OR por cada letra. Pero, como dices, es cuestión de antojo :)

// Saludos

TOPX
31-08-2008, 21:12:32
[sic] es más cómodo escribir el < y > o el between que usar un OR por cada letra.

Sí señor, tiene toda la razón.