![]() |
Ayuda con consulta SQL
Buenos dias.
Tengo un pequeño problema que no se por donde coger... os cuento: - Tengo una tabla de EQUIPOS y otra de PRECIOS. en la de EQUIPOS hay el nombre del equipo y las mecacnicas por la que esta compuesto dicho equipo ejemplo: EQUIPO | PLANO | DESCRIPCCION prueba PM0001 plano numero 1 prueba PM0002 plano numero 2 prueba1 PM0003 Plano de otro equipo la de precioes es asi PLANO | PROVEEDOR | PRECIO PM0001 Taller1 5 PM0001 Taller2 10 lo q tengo es un dbgrid con una consulta q muestra la mecanica y el precio para cada equipo, lo hago asi : query1.SQL.Add('select PLANO_M AS PLANO,DESCR_M,PROVEEDOR,MATERIAL,PRECIO from EQUIPOS a, PRECIOS b where a.PLANO_M = b.PLANO and upper(a.EQUIPO) = upper('+quotedstr(nombre_equipo)+')'); Lo que a mi me interesaria es que cuando un plano lo hacen 2 proveedores, solo me mostrara 1 y puediera cambiar el proveedor con una dblookupcombo poner el combo se,q me muestre lo que quiero tb. Lo que no se hacer es que solo me muestre 1 campo cuando sean 2 proveedores y q cuando cambie la combo cambie el precio. Espero que este claro :) y que alguien me puede hechar una mano Muchas gracias :) |
no se si he entendido bien.
creo que es cuestion de organizarse. vamos a ver. seleccionemos un equipo: 'nombre_equipo'. los proveedores que han trabajado en este equipo son: Código:
select p.proveedores Código:
select e.plano, e.descripcion, e.material, p.precio |
Asias por contestar :)
Pero no se eso esactamente aunque me soluciona una parte ;) el problema es que en la tabla esta puesto asi : EQUIPO MECANICA PROVEEDOR PRECIO equipo1 PM0001 taller1 5 equipo1 PM0001 taller2 10 no se si me entiendes, tal y como tu me lo has dicho me mostraria las dos mecanicas con los dos proveedores, ya que el numero de mecanica es el mismo ese es el problema q quiero q solo me muestre 1 vez el PM0001 pero pueda cambiar de proveedor. asias otra vez :) |
mira utiliza un TQuery y un ttable la consulta del tquery seria:
select disticnt * from equipos y la ttable la utilizas como master detail siendo el master el tquery y el detail la tabla en el ttable iria porsupuesto la de precio y el campo de enlace seria el numero de plano Pruebalo y suerte |
hola otra vez
He hecho eso que me has comentado pero en el grid no me sale la lista de todas las mecanicas de las q esta compueto el equipo. Solo me sale la primera mecanica del equipo seleccionado Sabes a q puede ser debido? gracias |
mira lo que pasa es losiguiente, en el grid te va a moostrar una linea por equipo que segun me dices te lo hace, pero debes programar para cambiar el precio activo cada vez que lo seleccionen del combo...
al utilizar la funcion distintc en el sql conectado al grid, el grid te muestra solo la lista de equipos y en el combo al seleccionar un registro del grid te deben aparecer los distintos precios del seleccionado, eso fue lo que te entendi que querias hacer |
uhmmmm a ve, creo q no nos hemos acabado de enter, te explico otra vez, a ve si nos entendemos :) ante todo GRACIAS por ayudarme :)
Imaginate un EQUIPO, compuesto por MECANICAS y cada MECANICA la puede hacer dos talleres por eso en este grid necesito mostrar todas las MECANICAS que forman un equipo. y por cada mecanica solo se mostrara un taller, y con el combo cambiar el taller. ( q se cambiara el precio de ESA MECANICA ) las demas se verian igual. Seria un grid con una lista no solo con 1. Si hace falta te pego algo de codigo ;) muchas gracias. |
creo que me cuesta entenderte por que por mas que leo siempre entiendo desde el principio. mira Tienes una tabla equipos y otra llamada precios por lo que entendi la clave que las relaciona es el numero de plano por lo que reitero si haces lo que te explique en un master detail el master equipos y el detail precios, a cada linea en el equipo le corresponde n lineas en precios(eso es lo que entend que querias hacer)
|
La franja horaria es GMT +2. Ahora son las 12:51:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi