SQL - Contar una letra determinada en los registros

 
Vista:

Contar una letra determinada en los registros

Publicado por Pepe (4 intervenciones) el 09/03/2005 17:13:43
Supongamos esta tabla:

1. Ana
2. Alejandro
3. Pedro

¿Qué sentencia me devuelve el número de A por ejemplo que tiene la columna?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Contar una letra determinada en los registros

Publicado por Isaías Islas (5072 intervenciones) el 09/03/2005 19:57:37
Tal vez se pudiera, haciendo una FUNCION, UN CURSOR, algo.

¿Pero para que?,¿Cual seria el objetivo?, perdona, no le veo razon de ser.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por Pepe (4 intervenciones) el 09/03/2005 20:01:57
¿NO me valdría lo siguiente?

SELECT nombre,COUNT (*) FROM lista WHERE nombre LIKE ''*A*'' GROUP BY nombre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por Isaías Islas (5072 intervenciones) el 09/03/2005 20:04:08
No, eso te va a contar LOS REGISTROS que tiene al menos UNA letra "A" en cualquier posicion, yo entendi, que tu quieres que te cuente el numero de letras "A" que tienen tus COLUMNAS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por Pepe (4 intervenciones) el 09/03/2005 20:06:32
Correcto, tiene usted razón, así es. Eso cuenta sólo 1 A y yo quiero TODAS.

¿Algo con SUM y CASE a lo mejor?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por EnriqueK (69 intervenciones) el 10/03/2005 00:16:10
Bueno yo te recomendaria hacer uso de una tabla Iteration que la puedes usar en muchos casos y resuelve tu problema:

CREATE TABLE ITERATION
(
id_it INT
)
GO
DECLARE @I INT
SET @I = 0
WHILE @I < 4000
BEGIN
INSERT INTO ITERATION VALUES (@I)
SET @I = @I + 1
END

DECLARE @CADENA VARCHAR(50)
SET @CADENA = 'AHORA MIRA CUANTAS A HAY EN LA AQUI'

SELECT COUNT(*)
FROM ITERATION
WHERE SUBSTRING(@CADENA,id_it,1) = 'A'

No te recomiendo hacer uso de cursores por q eso ya no debe existir y definitivamente ya no se usa...

espero ese codigo ayude a resolver tu problema.

Atte.
EnriqueK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por Pepe (4 intervenciones) el 10/03/2005 00:38:28
Joer, genial, perfecto. No conocía lo de Iteration. Muchísimas gracias, de verdad, por tu tiempo.

Un saludo ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por Isaías Islas (5072 intervenciones) el 10/03/2005 16:04:53
Enrique / Pepe

Esta instruccion:

WHILE @I < 4000
BEGIN
INSERT INTO ITERATION VALUES (@I)
SET @I = @I + 1
END

REVENTARA a las 32 interacciónes, SQL Server tiene un limite de llamados anidados......

Pepe, te pregunte, en caso de que se pudiera hacer, ¿QUE CASO TIENE CONTAR LAS LETRAS?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por EnriqueK (69 intervenciones) el 10/03/2005 19:13:51
La tabla iteration y su llenado solo se hace una vez, como lo puese esa tabla se puede reutilizar para muchas cosas, no lo hago cada vez que se ejecuta el query por registro es una tabla fisica ya existente, y recalco se puede reutilizar para varias cosas lo que me falto quizas decir es que esa la instruccion de crearlo y del While SOLO SE EJECUTA UNA VEZ ;)

Atte.
EnriqueK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por Isaías Islas (5072 intervenciones) el 10/03/2005 19:33:29
Bueno, sigo sin entender el script por mas que le doy vueltas, pero si funciona, en hora buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mira a ver qué te parece

Publicado por EnriqueK (69 intervenciones) el 10/03/2005 19:37:42
El script es sencillo, y en verdad que ayuda yo he tenido muchas soluciones q talvez las hubiera hecho haciendo el uso de cursores con mi tabla iteration podido arreglar muchas de ellas una de ellas es contar caracteres en una cadena, otra para fechas bueno en fin... y es una tabla unica hay q encontrarle solo razon y ver en q otras consultas se peude aplicar ;)

Atte.
EnriqueK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar