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

Consulta acerca de blogs

Estas en el tema de Consulta acerca de blogs en el foro de SQL Server en Foros del Web. (No se trata de una consulta de SQL Server, sino- de una consulta acerca de un tema relacionado con SQL Server) Yo abrí antes unos ...
  #1 (permalink)  
Antiguo 07/11/2012, 13:25
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Consulta acerca de blogs

(No se trata de una consulta de SQL Server, sino- de una consulta acerca de un tema relacionado con SQL Server)

Yo abrí antes unos meses un nuevo blog en Castellano sobre SQL Server.
Después de publicar diez entradas mas o menos dejé de escribir porque vi que nadie las lee, y por lo menos - ningún comentario ha sido escrito..

Sospecho que el problema es que el sitio donde esta mi blog, aunque es conocido dentro de la comunidad de SQL Server (www.BeyondRelational.com), todos los que escriben ahí son indios, y lamentablemente no hablan Castellano (y probablemente tampoco la gente que lee sus blogs)..

Lo que quería preguntar es si conocen algún portal en Castellano que está dedicado a SQL Server o a BBDD o a tecnología de información y que será apto a este purpose.
Por supuesto puedo abrir un blog en Google o en WordPress, pero estos son portales generales y no están relacionados con SQL Server.

Desde ya - ¡muchas gracias!
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #2 (permalink)  
Antiguo 08/11/2012, 12:44
 
Fecha de Ingreso: noviembre-2011
Mensajes: 48
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Consulta acerca de blogs

Hola GeriReshef, creo que tus aportaciones son valiosas para muchos y muy provechosas, ojala no dejes de aportarnos tus conocimientos y un pregunta, revisando tu blog tienes algunos analisis matematicos, de casualidad tendras algo para encontrar de una lista de sumandos un resultado conocido?
  #3 (permalink)  
Antiguo 08/11/2012, 13:47
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Consulta acerca de blogs

¡Muchisimas gracias!

Lamentablemente no entendí tu pregunta:
¿se trata de como encontrar un valor dentro de un conjunto (Select .. From .. Where ..)?
¿como encontrar un valor dentro de una cadena?
¿otra opción?
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #4 (permalink)  
Antiguo 08/11/2012, 19:01
 
Fecha de Ingreso: noviembre-2011
Mensajes: 48
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Consulta acerca de blogs

Gracias por responder, de una lista de valores n, encontrar aquellos que sumados den un valor conocido. Por ejemplo.
Lista {407.16, 536.82, 1187.03, 923.94, 80.39, 651.46, 1547.90, 119.99, 110.66, 621.76, 62.6, 1616.24, 227.85, 878.06, 824.76, 950.04, 1125.95, 208.80, 2004.48, 3358.20, 1272.52 }

Valor Conocido: 14007.74

Resultado: { 407.16, 536.82, 1187.03, 1547.90, 119.99, 110.66, 62.6, 1616.24, 227.85, 878.06, 824.76, 1125.95, 2004.48, 3358.20}

Saludos
  #5 (permalink)  
Antiguo 09/11/2012, 04:34
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Consulta acerca de blogs

Primero que nada- creamos una tabla temporal,
Con todos los valores de la cadena:
Código SQL:
Ver original
  1. DECLARE @S1 VARCHAR(MAX);
  2.  
  3. SELECT  @S1='407.16, 536.82, 1187.03, 923.94, 80.39, 651.46, 1547.90, 119.99, 110.66, 621.76, 62.6, 1616.24, 227.85, 878.06, 824.76, 950.04, 1125.95, 208.80, 2004.48, 3358.20, 1272.52';
  4.  
  5. IF Object_ID('tempdb..#T') IS NOT NULL DROP TABLE #T;
  6.  
  7. CREATE TABLE #T(Valor DECIMAL(12,2),
  8.                 Total DECIMAL(12,2));
  9.  
  10. CREATE Clustered INDEX Idx_#T ON #T (Valor DESC, Total DESC);
  11.  
  12. DECLARE @I INT;
  13. While   @S1<>''
  14.         BEGIN
  15.         SET     @I=CharIndex(',',@S1+',');
  16.         INSERT INTO #T(Valor) SELECT LEFT(@S1,@I-1);
  17.         SET     @S1=Stuff(@S1,1,@I,'');
  18.         END
Ahora actualizamos la columna Total con los subtotales según el orden de Valor:
Código SQL:
Ver original
  1. DECLARE @Valor DECIMAL(12,2),
  2.         @Total DECIMAL(12,2),
  3.         @Rc INT;
  4.  
  5. SELECT  @RC=1,
  6.         @Total=0;
  7. SELECT  @Valor=MIN(Valor),
  8.         @Total=@Total+MIN(Valor)
  9. FROM    #T
  10. WHERE   Total IS NULL;
  11.  
  12. While   @Valor IS NOT NULL
  13.         BEGIN
  14.         UPDATE  T
  15.         SET     Total=@Total
  16.         FROM    (SELECT Top 1 *
  17.                 FROM    #T
  18.                 WHERE   Valor=@Valor
  19.                         AND Total IS NULL) T;
  20.         SELECT  @Valor=MIN(Valor),
  21.                 @Total=@Total+MIN(Valor)
  22.         FROM    #T
  23.         WHERE   Total IS NULL;
  24.         END
Y finalmente encontramos los valores utilizando un CTE recursivo (el resumen debe ser 14007.70 y no 14007.74):
Código SQL:
Ver original
  1. DECLARE @S2 DECIMAL(12,2);
  2. SELECT  @S2= 14007.70;
  3.  
  4. WITH T AS
  5. (SELECT Valor,
  6.         Total,
  7.         CAST(@S2-Valor AS DECIMAL(12,2)) STotal,
  8.         CAST(Valor AS VARCHAR(MAX)) SValor
  9. FROM    #T
  10. WHERE   Total>=@S2
  11. UNION ALL
  12. SELECT  T1.Valor,
  13.         T1.Total,
  14.         CAST(T.STotal-T1.Valor AS DECIMAL(12,2)),
  15.         CAST(T.SValor+','+CAST(T1.Valor AS VARCHAR(MAX)) AS VARCHAR(MAX))
  16. FROM    T
  17. INNER JOIN #T T1
  18.         ON T.Valor>=T1.Valor
  19.         AND T.Total>T1.Total
  20.         AND T.STotal<=T1.Total
  21. WHERE   T.STotal-T1.Valor>=0)
  22. SELECT  *
  23. FROM    T
  24. WHERE   STotal=0;
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #6 (permalink)  
Antiguo 09/11/2012, 09:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 48
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Consulta acerca de blogs

GeriReshef, muchas gracias, sabía que no me equivocaba al preguntarte, voy a probar con otras listas y cualquier duda te consulto.

Nuevamente muchas gracias, Saludos.

Etiquetas: blog
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 04:05.