Ver Mensaje Individual
  #7  
Antiguo 13-10-2011
abelg abelg is offline
Miembro
 
Registrado: jul 2004
Posts: 50
Reputación: 20
abelg Va por buen camino
que tal asi, me cree unas tablas temporales para simular tu tabla real. lo único que en realidad te interesaría es el Update, puedes testearlo en Sql Server este script pero el update creo funcionará para cualquier base de Datos.

Código SQL [-]
Create table #planes_servicios (
  id int identity not null,
  servicio varchar(10),
  nombre   varchar(10),
  precio money,
  id_plan varchar(20)
)

insert into #planes_servicios (servicio, nombre, precio, id_plan) values ('001', 'Consulta', 150, 'PLANMAESTRO')
insert into #planes_servicios (servicio, nombre, precio, id_plan) values ('002', 'Control', 75, 'PLANMAESTRO')
insert into #planes_servicios (servicio, nombre, precio, id_plan) values ('003', 'Radiogra', 180, 'PLANMAESTRO')
insert into #planes_servicios (servicio, nombre, precio, id_plan) values ('001', 'Consulta', 50, 'PLAN-B')
insert into #planes_servicios (servicio, nombre, precio, id_plan) values ('002', 'Control', 70, 'PLAN-B')
insert into #planes_servicios (servicio, nombre, precio, id_plan) values ('003', 'Radiogra', 80, 'PLAN-B')
insert into #planes_servicios (servicio, nombre, precio, id_plan) values ('004', 'XXXXXXXX', 750, 'PLAN-B')

Select *
from #planes_servicios

update #planes_servicios set precio = (Select ps.precio 
                                       from #planes_servicios ps
                                       where ps.id_plan = 'PLANMAESTRO' and ps.servicio = #planes_servicios.servicio)
where id_plan <> 'PLANMAESTRO' and servicio in (Select p.servicio 
                                       from #planes_servicios p 
                                       where p.id_plan = 'PLANMAESTRO')

Select *
from #planes_servicios

Drop table #planes_servicios

El update es lo que te interesaría.

Salu2
Responder Con Cita