Foros > SQL Server: Consulta compleja - ??Es posibles??

  1. davisoski

    Mensajes [1] - Enviado el Domingo 31 de Mayo de 2009 a las 14:24hs

    Hola.

    Me gustar?a saber si es posible (que creo que no) hacer lo siguiente:

    supongamos que tengo una tabla con la siguiente estructura

    ID, cAMPO1, CAMPO2, CAMPO3, ...., CAMPOn


    ID contendr? los siguientes valores por fila (no pongo nada del resto de columnas)

    351001
    351002
    351003
    352004
    352005
    352006
    353007
    353008
    384009
    384010
    385011
    386012

    Este campo lo puedo dividir as? para el primer registro, por ejemplo: 38 - 1 - 001

    Si yo hago un select * from miTabla obtendr? estos 12 registros, hasta ah? todo bien.

    Supongamos ahora que las columnas son de tipo entero,por tanto puedo obtener un total, pero a mi me interesa obtener varios

    totales, de la siguiente forma:

    Total tipo 1: Ser?a la suma de los elementos que corresponden al caracter en la posici?n 3 y que valen 1, tal que as?

    351001
    351002
    351003
    suma de estos 3 elementos (*1)

    352004
    352005
    352006
    suma de estos 3 elementos (*2)

    353007
    353008
    suma de estos 2 elementos (*3)

    384009
    384010
    suma de estos 2 elementos (*4)

    385011
    suma de este elemento (*5)

    386012
    suma de este elemento (*6)


    total tipo 2: seria la suma de los elementos (35 y 38) que coincidan con los dos primeros caracteres, tal que as?:

    351001
    351002
    351003
    352004
    352005
    352006
    353007
    353008
    suma de estos 8 elementos (*7)

    384009
    384010
    385011
    386012
    suma de estos 4 elementos (*8)


    Como resultado final deber?a obtener en este orden lo siguiente

    351001
    351002
    351003
    (*1)
    352004
    352005
    352006
    (*2)
    353007
    353008
    (*3)
    384009
    384010
    (*4)
    385011
    (*5)
    386012
    (*6)
    (*7)
    (*8)

    por tanto en lugar de obtener 12 registros, deber?a obtener 20 registros en total.

    Por que todo este foll?n????, porque hasta ahora yo consultaba la tabla y luego una vez que la ten?a, v?a codigo obten?a las

    sumas que he comentado. El problema viene cuando obtengo, digamos 5000 registros y los quiero mostrar usando un
    JSF, que he almacenado en una lista, que consume memoria y en la que dependiendo del n?mero de columnas pues dar? error de

    memoria.

    Hay una t?cnica llamada lazy-loading para resolver esto, pero necesita tirar del recordset con todos los resultados y me

    pregunto si yo podr?a implementar en el servidor de bases de datos esta operativa para que me devuelva los datos que he

    puesto anteriormente y pueda mostrarlo en la p?gina sin problemas.

    Bueno, espero haberme explicado.

    Gracias.


responder

Para poder responder a este tema tenes que ingresar. Si no tenes una cuenta podes registrarse gratis..

publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API