Tengo estas 3 tablas
use SUMMER
create table cliente
(id char(3 )primary key,
apellidos varchar(50),
nombres varchar(50),
sexo char(1))
create table sueldos
(id char(3),
periodo date,
sueldo int)
create table estados
(id char(3),
estado varchar(25))
alter table sueldos
add foreign key (id) references cliente(id)
alter table estados
add foreign key (id) references cliente(id)
insert into cliente (id,apellidos,nombres,sexo) values ('001','Perez','Juan','M')
insert into cliente (id,apellidos,nombres,sexo) values ('002','Lopez','Carla','F')
insert into cliente (id,apellidos,nombres,sexo) values ('003','Pinedo','Jorge','M')
insert into cliente (id,apellidos,nombres,sexo) values ('004','Torres','Jose','M')
insert into cliente (id,apellidos,nombres,sexo) values ('005','Zapata','Pamela','F')
insert into cliente (id,apellidos,nombres,sexo) values ('006','Zavaleta','Sofia','F')
select * from sueldos
insert into sueldos (id,periodo,sueldo) values ('001','15-01-2012',1500)
insert into sueldos (id,periodo,sueldo) values ('001','01-01-2012',1800)
insert into sueldos (id,periodo,sueldo) values ('002','15-01-2012',1900)
insert into sueldos (id,periodo,sueldo) values ('002','01-01-2012',2200)
insert into sueldos (id,periodo,sueldo) values ('003','15-01-2012',1500)
insert into sueldos (id,periodo,sueldo) values ('004','01-01-2012',1800)
insert into sueldos (id,periodo,sueldo) values ('005','15-01-2012',2500)
insert into sueldos (id,periodo,sueldo) values ('005','01-01-2012',1000)
insert into sueldos (id,periodo,sueldo) values ('006','15-01-2012',1500)
insert into estados (id,estado) values ('001','No Activo')
insert into estados (id,estado) values ('002','Activo')
insert into estados (id,estado) values ('003','No Activo')
insert into estados (id,estado) values ('004','Activo')
insert into estados (id,estado) values ('005','Activo')
insert into estados (id,estado) values ('006','Activo')
1.- Seleccionar los sueldos de todo el personal femenino activo que este por debado del promedio de sueldos.
begin tran
declare @prom int
SELECT @prom= AVG(dbo.sueldos.sueldo)
FROM dbo.cliente INNER JOIN
dbo.sueldos ON dbo.cliente.id = dbo.sueldos.id INNER JOIN
dbo.estados ON dbo.cliente.id = dbo.estados.id
WHERE (dbo.cliente.sexo = 'F') AND (dbo.estados.estado = 'aCTIVO')
select cliente.id,cliente.apellidos,cliente.nombres,min(s ueldos.sueldo )
from cliente inner join sueldos on cliente.id=sueldos.id
where sueldos.sueldo<=@prom
group by cliente.id,cliente.apellidos,cliente.nombres
2.- Seleccionar solamente el sueldo mayor del personal femenino que tiene como maximo 1 sueldo en un periodo.
SELECT MAX(dbo.sueldos.sueldo) AS Expr2, dbo.sueldos.id, dbo.sueldos.periodo
FROM dbo.cliente INNER JOIN
dbo.sueldos ON dbo.cliente.id = dbo.sueldos.id INNER JOIN
dbo.estados ON dbo.cliente.id = dbo.estados.id
WHERE (dbo.cliente.sexo = 'F') AND (dbo.estados.estado = 'aCTIVO')
GROUP BY dbo.sueldos.id, dbo.sueldos.periodo
HAVING (DAY(dbo.sueldos.periodo) = '01')
3.- Incrementar en 20% al sueldo minimo del personal femenino activo
-- con est ame pordrian ayudar por favor?
Gracias