PDA

Ver la Versión Completa : Relacion familias y articulos


Espartaco
16-06-2008, 14:16:50
Hola de nuevo, amigos del foro. Esta vez tengo un problema con SQL y se me esta resistiendo. Decir antes que nada que lo tengo resuelto con dos querys, pero tengo que abrir y cerrar uno de ellos dentro de un bucle, 12 veces por cada registro del otro, en consecuencia me esta dando un error de 'Invalid parameter', y por lo que he podido leer en el foro, este error se debe precisamente a eso, es decir a abrir tantas veces los querys, por tanto estoy intentando realizar el proceso en uno solo si es posible. Uso Delphi 5.0 y tablas Paradox.

Tengo dos Tablas. En la primera guardo los datos del local (numero, direccion, poblacion, etc.), el numero es unico por cada registro.
La otra tabla la podemos enlazar por el campo numero, y el resto de campos es articulo, familia y pulsadores.

Decir que los articulos estan agrupados por familias.

Lo que necesito obtener en una sola tabla, es numero, direccion, articulo, pulsadores. El problema es que en cada registro necesito tener todos los articulos que hay en la familia y el numero de pulsadores que utiliza.

Por ejemplo: Tenemos la familia Pepito a la que pertenecen los articulos A, B, C, D y E.

Bien pues el resultado seria:


Local Domic. Art 1 Puls. Art 2 Puls Art 3 Puls etc ....
1 lllll A 5 B 2 C 1
2 HHHHHH A 1 B C 2
3 TTTTTT A B 1 C 3


No se si me he explicado bien, porque es un poco enrevesado, pero con mucho gusto lo vuelvo a explicar de otra forma.

Agradeceria enormemente vuestra ayuda, como siempre.

Un saludo

Espartaco
17-06-2008, 19:43:12
soy yo mismo, es para que no se pierda el post.

marcoszorrilla
17-06-2008, 20:04:48
Yo en estes casos lo que hago es crear archivos temporales y les voy pasando los datos.

En algunos casos realizo dos pasos, incluso tres.

Selecciono con una consulta, recorro y voy colocando los datos en un archivo temporal con una segunda pasada envío los datos a un segundo archivo y finalmente los muestro.

Con esto he observado que se mejora mucho el rendimiento, se evitan realizar consultas muy complicadas a veces imposibles...

Espero te sirva la idea.


Los archivos temporales por supuesto se crean en el ordenador local no en el servidor.
Un Saludo.

Espartaco
18-06-2008, 09:12:20
:)Gracias por responder Marcoszorrilla.

Efectivamente, asai es como lo tengo solucionado de momento, lo que pasa es que como explico en el post, la solucion que le di en su momente abria repetidamente un query, y antes iba bien porque habia pocos registros, pero ahora me lanza el error que indico arriba casi continuamente. De todas formas estoy trabajando en alguna forma para que no tenga que iterar tanto sobre el query, pero claro si con un solo query fuera posible seria fantastico.

Mi problema tambien es que la version que tengo de SQL es la que viene con Delphi 5, y muchas de las cosas que he visto para MySql no las admite. He estado bicheando para instalar MySql en mi ordenador pero todo lo que encuentro esta muy enrevesado y no me atrevo no vaya a ser que no rulen los proyectos en los que estoy trabajando.

De todas formas agradeceria cualquier informacion al respecto. Compre el libro "Curso de SQL" de Anaya, pero la verdad me ha ayudado poco por el motivo que indico en el parrafo anterior.

Muchas gracias.:)

marcoszorrilla
18-06-2008, 14:18:04
Asi a bote pronto, quizás si agrupas por familia y articulo y totalizas te ahorrarías procesos?


Creo que lo que estás buscando es una instrucción del tipo "pivot", que Paradox no tiene.

Un Saludo.

Espartaco
19-06-2008, 11:43:18
muchas gracias marcoszorrilla por tu interes.

Seguiré intentándolo.

Un saludo:o

Lepe
19-06-2008, 15:49:08
Yo en delphi 6 y usando el BDE he visto en la paleta de componente el "Decision cube" y creía que servía para lo que dices. No los he usado, pero estar... están. Espero que tengas suerte y en Delphi 5 también los tengas.

En cuanto a lo de "bichear", si tienes una máquina potente, puedes usar virtualización (http://www.genbeta.com/2007/01/16-virtualbox-la-virtualizacion-open-source), así tu ordenador no se ve afectado por las cosas que instalas.

Saludos

Espartaco
20-06-2008, 09:31:54
Gracias Lepe por tu respuesta, he buscado en delphi 5 el Decision Cube y no le he encontrado por ningun sitio.

Creo que voy a tener que actualizar a Delphi 7, pero es que no se cuanto me va a costar y si los proyectos se pueden migrar sin problemas. Agradecería cualquier información.

Un saludo,