Bases de Datos - Consulta: obtener total de puntos expresado como número de asteriscos

 
Vista:

Consulta: obtener total de puntos expresado como número de asteriscos

Publicado por José Enrique (3 intervenciones) el 27/03/2019 15:58:07
Buenas,

Estoy empezando en esto de sql, y debo obtener una columna, en donde exprese el total de puntos conseguidos y se exprese como asteriscos (es decir, si mi valor es 5, debe aparecer en la columna: *****).

A partir de la función de agregado SUM, obtengo el valor pero no soy capaz de que éste se exprese en asteriscos.

¿Alguien sabe que función debo usar? He intentado con REPLACE, pero, como el valor depende de la función SUM y cada uno es distinto, no soy capaz que en cada fila me salga el número de asteriscos adecuados.

Muchas gracias por la ayuda

Un saludo
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
Imágen de perfil de Isaias
Val: 52
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta: obtener total de puntos expresado como número de asteriscos

Publicado por Isaias (26 intervenciones) el 27/03/2019 18:14:23
¿Cual es el resultado de tu suma?

select stuff(10+3+5+8+9,1,12,'************')
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

Consulta: obtener total de puntos expresado como número de asteriscos

Publicado por José Enrique (3 intervenciones) el 27/03/2019 18:23:30
Buenas,

Cada fila tiene un resultado diferente. Debo encontrar una función que me englobe a la función que me da el total de puntos:

select stuff(sum(puntos), 1,'*') ?

No sé cómo debería ser

Gracias
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
Imágen de perfil de Isaias
Val: 52
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta: obtener total de puntos expresado como número de asteriscos

Publicado por Isaias (26 intervenciones) el 27/03/2019 23:54:17
Veamos, intentalo con una función de usuario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
create function dbo.ReplaceChars(@Word varchar(max), @Char char(1))
returns varchar(max)
as
begin
 
    declare @output varchar(1000);
    set @output = replicate(@Char, len(@Word));
 
    select  @output = stuff(@output, n, 1, ' ')
    from    (   select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union
                select 7 union select 8 union select 9 union select 10 union select 11 union select 12
            ) number(n) --** use your own number table here **
    where   substring(@Word, n, 1) = ' ' and
            n <=len(@Word);
 
   return @output;
 
end
 
-- Uso
declare @table table (Word varchar(max), Replacement varchar(max))
insert into @table (Word)
    select '198347383' union all
    select '203U40232234234';
 
update  @table
set     Replacement = dbo.ReplaceChars(Word, '*')
where   Word is not null;
 
select * from @table;
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

Consulta: obtener total de puntos expresado como número de asteriscos

Publicado por Jose Enrique (3 intervenciones) el 29/03/2019 09:49:42
Buenas,

Muchas gracias por tu esfuerzo Isaías, pero creo que debe de ser mucho más sencillo de lo que tú me planteas (al menos eso espero).

Yo tengo una serie de tablas relacionadas y debo hacer una serie de consultas. En una de las sentencias, debo conseguir obtener que se me exprese en mi tabla de resultados de la consulta una columna con los resultados de la suma de cada uno de los puntos conseguidos por cada jugador, pero que vaya expresado en un número de caracteres igual al valor numérico obtenido de la suma para cada jugador. Para representar los caracteres debo usar solamente asterisco. Así, si el valor de la suma de puntos es 5, debe aparecer: *****.

Supongo que con esta información, sin las tablas, no debe ser fácil poder saber qué es lo que quiero, mis disculpas.

Creo que no me he explicado bien, y no quiero que pierdas tu tiempo, muchas gracias por los intentos y trataré de encontrar la solución.

Gracias de todo corazón y 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