Primer problema:
Un comercio que vende artículos de librería y papelería almacena la información de sus ventas en una
tabla llamada "facturas" y otra "clientes".
1- Elimine las tablas si existen:
if object_id('facturas') is not null
drop table facturas;
if object_id('clientes') is not null
drop table clientes;
2-Créelas:
create table clientes(
codigo int identity,
nombre varchar(30),
domicilio varchar(30),
primary key(codigo)
);
create table facturas(
numero int not null,
fecha datetime,
codigocliente int not null,
total decimal(6,2),
primary key(numero),
constraint FK_facturas_cliente
foreign key (codigocliente)
references clientes(codigo)
on update cascade
);
3-Ingrese algunos registros:
insert into clientes values('Juan Lopez','Colon 123');
insert into clientes values('Luis Torres','Sucre 987');
insert into clientes values('Ana Garcia','Sarmiento 576');
insert into clientes values('Susana Molina','San Martin 555');
insert into facturas values(1200,'2007-01-15',1,300);
insert into facturas values(1201,'2007-01-15',2,550);
insert into facturas values(1202,'2007-01-15',3,150);
insert into facturas values(1300,'2007-01-20',1,350);
insert into facturas values(1310,'2007-01-22',3,100);
4- El comercio necesita una tabla llamada "clientespref" en la cual quiere almacenar el nombre y
domicilio de aquellos clientes que han comprado hasta el momento más de 500 pesos en mercaderías.
Elimine la tabla si existe y créela con esos 2 campos:
if object_id ('clientespref') is not null
drop table clientespref;
create table clientespref(
nombre varchar(30),
domicilio varchar(30)
);
5- Ingrese los registros en la tabla "clientespref" seleccionando registros de la tabla "clientes" y
"facturas".
6- Vea los registros de "clientespref":
select * from clientespref;
Ver solución
if object_id('facturas') is not null
drop table facturas;
if object_id('clientes') is not null
drop table clientes;
create table clientes(
codigo int identity,
nombre varchar(30),
domicilio varchar(30),
primary key(codigo)
);
create table facturas(
numero int not null,
fecha datetime,
codigocliente int not null,
total decimal(6,2),
primary key(numero),
constraint FK_facturas_cliente
foreign key (codigocliente)
references clientes(codigo)
on update cascade
);
insert into clientes values('Juan Lopez','Colon 123');
insert into clientes values('Luis Torres','Sucre 987');
insert into clientes values('Ana Garcia','Sarmiento 576');
insert into clientes values('Susana Molina','San Martin 555');
insert into facturas values(1200,'2007-01-15',1,300);
insert into facturas values(1201,'2007-01-15',2,550);
insert into facturas values(1202,'2007-01-15',3,150);
insert into facturas values(1300,'2007-01-20',1,350);
insert into facturas values(1310,'2007-01-22',3,100);
if object_id ('clientespref') is not null
drop table clientespref;
create table clientespref(
nombre varchar(30),
domicilio varchar(30)
);
insert into clientespref
select nombre,domicilio
from clientes
where codigo in
(select codigocliente
from clientes as c
join facturas as f
on codigocliente=codigo
group by codigocliente
having sum(total)>500);
select * from clientespref;