Ver Mensaje Individual
  #6 (permalink)  
Antiguo 04/05/2006, 14:05
Avatar de uamistad
uamistad
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Ese men !

Recibí tus pics, ya las metí en mi header, se ve de luxe !!

'Ta crítico tu caso, aunque bien puedes subir tu base de datos, man, asignándole una clave autonumérica y luego con una suma de datos agrupando las columnas repetidas que quieras, te dará como resultado una tran tabla con los datos tal cuál los quieres.

Digamos que la siguiente tabla:
1;1;4010.29.00.000R;0,23;9999,99;1;45,25;7;0,00
1;1;4010.29.00.000R;0,23;9999,99;1;35,24;7;0,00
1;1;4010.29.00.000R;0,23;9999,99;1;48,72;7;0,00
1;1;2010.29.00.000X;0,33;9999,99;1;75,70;7;0,00
1;1;7010.29.00.000L;0,13;9999,99;1;71,20;7;0,00

la metes en una base de datos y haces lo de sumar y agrupar, te quedaría así (las mismas líneas):

1;1;4010.29.00.000R;0,23;9999,99;1;129,21;7;0,00
1;1;2010.29.00.000X;0,33;9999,99;1;75,70;7;0,00
1;1;7010.29.00.000L;0,13;9999,99;1;71,20;7;0,00

creo que es lo que te andas preguntando.

Entonces, comienza con subir esas filas de datos a una tabla, primero define la tabla, ésta tendría 10 campos (porque hay 9 campos separados por ";" y le agregamos una por el formato autonumérico para que la base de datos no te diga que se están repitiendo).

Te quedaría más o menos así:

Código:
CREATE TABLE filastemporales (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  campo1 CHAR(30) NOT NULL,
  campo2 CHAR(30) NOT NULL,
  campo3 CHAR(30) NOT NULL,
  campo4 CHAR(30) NOT NULL,
  campo5 CHAR(30) NOT NULL,
  campo6 CHAR(30) NOT NULL,
  campo7 CHAR(30) NOT NULL,
  campo8 CHAR(30) NOT NULL,
  campo9 CHAR(30) NOT NULL,
  PRIMARY KEY(id)
);
No importa exagerar en el tamaño de los strings, ahorita le puse 30 na' más porque se me ocurrió, pero bueno, da igual.

La columnas sobre las que vayas a hacer operaciones, defínelas como numéricos flotantes. Nunca he trabajado con números de punto flotante en que éste está separado por coma, aquí en Méx no se acostumbra pero no debería haber problemas, ¿vale?

Para cargar la información a MySQL en forma masiva necesitarás de LOAD DATA (su definición):

Código:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number LINES]
    [(col_name_or_user_var,...)]
    [SET col_name = expr,...)]
... parece más apantallador de lo que es.

Chécate este micro ejemplo que copié un día de alguna page y lo anoté aquí en mi libro de MySQL:

Código:
//hacemos un archivo simplón nada más para probar (en la raíz de public_html):
echo 'a b c d' > testfile.txt

//entro a la consola de MySQL
mysql -u uamistad -p (mi password)

//creo una tabla en donde almacenaré la info que metí en testfile.txt
CREATE TABLE test(
 fe VARCHAR(2),
 fi VARCAHR(2),
 fo VARCHAR(2),
 fu VARCHAR(2)
);

//cargo la información a la tabla
LOAD DATA LOCAL INFILE '/www/proyecto/public_html/testfile'
INTO TABLE test
FIELDS terminated by ' '
LINES terminated by '\n';

//y listo, ya con hacer lo anterior, se cargó la info del archivo a la tabla
// y se prueba con:
SELECT * FROM test;


//lo cual arroja el siguiente resultado:
---------------------------------------
fe  |  fi  |   fo  |   fu
---------------------------------------
 a  |  b  |   c   |    d
---------------------------------------
Dale una ojeada, checa por ahí con Mr. Google a ver si hay algún ejemplo. Me voy a la uni, hay cualquier duda postea.
__________________
"Di no al Internet Explorer" -Proverbio Chino-