Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Ayuda Urgente!!! (https://www.clubdelphi.com/foros/showthread.php?t=40139)

nikotina 08-02-2007 02:54:31

Ayuda Urgente!!!
 
Hola Amigos. Estoy trabajando en un proyecto que consiste en realizar una aplicacion que gestione los concursos de precios para la compra de insumos de un hospital. El tema es asi: cada vez que un servicio del Hospital realiza una pedido mensual de insumos (por ejemplo medicamentos) la Oficina de compras llama a concurso a proveedores del rubro; estos proveedores realizan sus ofertas x articulo, y el sistema, x cada articulo, asigna el proveedor ganador al que ofrece el precio mas barato. Hasta aqui todo bien; tengo un form donde se cargan x proveedor el precio de cada articulo en una tabla(query1) con los campos proveedor, articulo, precio. Luego que cargo cada uno de los proveedores que ofertaron (que no siempre son todos los que se invitaron) nesecito guardar en una tabla el articulo y el precio ofertado x cada uno de los proveedores. Aqui viene mi problema: como hago para que en un query2 ponga como columna los proveedores que estan como filas en el query1 (los que realizaron ofertas unicamente). Ejemplo

query1: query2:
articulo proveedor precio articulo nothia dem horizonte
amoxi northia 3.5 amoxi 3.5 4.0
amoxi d'em 4.0 diclo 4.5
diclo d'em 4.5 parac 5
parac Horizonte 5

El unico problema es que no se como armar una tabla (query2) en tiempo de ejecucion ya que los campos del query2 varian en su cantidad.

Espero haber podido hacerme entender bien y que alguien me tienda una mano

Desde ya muchas gracias a todos.

Héctor Randolph 08-02-2007 07:22:42

Me parece que lo que necesitas es una rotación de tablas (crosstab), pero su implementación depende del manejador de base de datos que utilices. Algunos ya tienen implementada esta funcionalidad, en otros es más complicado.

Saludos.

Por favor lee la guía de estilo


La franja horaria es GMT +2. Ahora son las 16:39:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi