Está en la página 1de 12

/*EJECUCION

1---------------------------------------------------------------------------------*/
Create Database Ferreteria
/*EJECUCION
2---------------------------------------------------------------------------------*/
use Ferreteria
Create Table Ofertas
(
Id_Art char(15),
Fvigencia datetime,
Precio_Oferta numeric(9,2),
)
Create Table Articulos
(
Id_Art char(15),
Descripcion char(65),
Precio_Costo numeric(9,2),
Precio_Vta_Mayoreo numeric(9,2),
Precio_Vta_Menudeo numeric(9,2),
Id_Unidad char(3),
Ubicacion char(10),
Existencia numeric(7,2),
Id_Grupo char(2),
Equivalencia numeric(3),
Patron_Medida char(1),
Maximo numeric(4),
Minimo numeric(4),
Promedio numeric(4),
Compuesto char(2),
)
Create Table Grupos
(
Id_Grupo char(2),
Descripcion char(25),
)
Create Table Unidades
(
Id_Unidad char(3),
Descripcion char(15),
Abreviatura char(4),
)
Create Table Det_Vta
(
Id_Art char(15),
Cantidad numeric(5,2),
Precio numeric(7,2),
Id_Venta char(10),
Descto numeric(5,2),
Id_Unidad char(3),
)
Create Table Det_Compra
(
Id_Compra char(10),
Id_Art char(15),

Precio numeric(7,2),
Cantidad numeric(5,2),
Descto numeric(5,2),
Id_Unidad char(3),
)
Create Table Proveedor
(
RFC char(13),
Id_Prov char(3),
Nombre char(60),
Calle char(35),
Colonia char(30),
Ciudad char(18),
CP char(6),
Estado char(15),
Telefono char(10),
Correo char(35),
Contacto char(40),
Clabe_Cta char(18),
Id_Banco char(2),
)
Create Table Clientes
(
Id_Cte char(3),
RFC char(13),
Nombre char(60),
Calle char(35),
Colonia char(40),
CP char(6),
Ciudad char(18),
Estado char(15),
Telefono char(10),
Limite_Credito numeric(5),
Correo char(35),
Contacto char(40),
Clabe_Cta char(18),
Fecha datetime,
Id_Agente char(3),
Dias_Credito numeric(3),
)
/*Correccion de longitud al atributo RFC de la tabla Clientes en caso de que le hubiera
puesto un valor diferente

*/

ALTER table Clientes


alter column RFC char(13)
Create Table Ventas
(
Id_Venta char(10),
No_Factura char(10),
Id_Cte char(3),
Descto numeric(5,2),
Fecha datetime,
Docto_Expedido char(1),
Lugar_Exp char(18),
Forma_Pago char(2),
Cta_Banco char(4),
P_IVA numeric(5,2),
Fecha_Venc datetime,

Id_Agente char(3),

Create Table Agentes


(
Id_Agente char(3),
Nombre char(60),
)
Create Table Bancos
(
Id_Banco char(2),
Descripcion char(20),
Telefono char(10),
Calle char(35),
Colonia char(30),
Ciudad char(18),
Estado char(15),
CP char(6),
)
Create Table Compras
(
Id_Compra char(10),
No_Factura char(10),
Id_Prov char(3),
Fecha datetime,
Lugar_Exp char(15),
Forma_Pago char(2),
Descto numeric(5,2),
Cta_Banco char(4),
Fecha_Venc datetime,
P_IVA numeric(5,2),
Id_Agente char(3),
Docto_Expedido char(1),
)
/*EJECUCION
3---------------------------------------------------------------------------------*/
/*
Los datos de la tabla que yo haba hecho ya remplazaremos con los datos que dio el
profe

INSERT INTO Articulos


values('CAJACLAVOS','CLAVOS',420.30,'CAJ','BODEGA1',50,'CO',737.50,551.90,???,'?',
100, 20, 60)
INSERT INTO Articulos
values('CABLENUM12','CABLEADO ELECTRICO
NUM12',105.00,'CAJ','BODEGA2',25,'HI',737.50,551.90,???,'?', ????, ????, ????)
INSERT INTO Articulos
values('HIDROROTOPLAS34','HIDROBOMBA
ROTOPLAS',428.67,'PZ','????',25,'HI',737.50,551.90,???,'?', ????, ????, ????)
INSERT INTO Articulos
values('HIDROROTOPLAS34','HIDROBOMBA
ROTOPLAS',428.67,'PZ','????',25,'HI',737.50,551.90,???,'?', ????, ????, ????)
INSERT INTO Articulos
values('HIDROROTOPLAS34','HIDROBOMBA
ROTOPLAS',428.67,'PZ','????',25,'HI',737.50,551.90,???,'?', ????, ????, ????)

*/

/*DATOS PROVISTOS POR EL PROFE....Grpos, Unidades y Articulos*/


INSERT INTO Grupos
values('01','MAT. ELECTRICO')
INSERT INTO Grupos
values('02','PINTURAS')
INSERT INTO Grupos
values('03','HERRAMIENTAS')
INSERT INTO Unidades
values('01','metro','mt')
INSERT INTO Unidades
values('02','caja','caja')
INSERT INTO Unidades
values('03','pieza','pza')
INSERT INTO Unidades
values('04','kilogramo','kg')
INSERT INTO Articulos
values('1','Cable Electrico No12',8,10,12,'02','A4',10,'01',100,'2',50,5,7,'02')
INSERT INTO Articulos
values('2','Lata 18 Lts Rojo',126,180,240,'04','B2',12,'02',18,'2',7,2,5,'03')
INSERT INTO Articulos
values('3','Llave Perica No4',80,120,90,'03','A14',8,'03',1,'1',5,2,3,'03')
INSERT INTO Articulos
values('4','Tubo PVC 4 pulgadas',60,90,140,'01','B6',15,'04',6,'2',15,4,6,'03')
INSERT INTO Articulos
values('5','Lata 1 Lts Azul', 35, 45, 68,'04','A7',20,'02',1,'1',15,5,8,'04')
INSERT INTO Articulos
values('6','Juego llaves Allen',120,160,270,'03','A3',4,'03',1,'1',3,1,2,'03')
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
INSERT INTO Clientes
values('JCR','PERC123837H9T','JASSO CONSTRUCTORES','BLVD FCO
IMADERO','GUADALUPE','25750','MONCLOVA','COAHUILA','8666334652',10000,'jassconst@hotmail.c
om','JOSE LUIS SANCHEZ ORTIZ','123345647991345648','12/10/2012','YVS',128)
INSERT INTO Clientes
values('CJI','CJIM983436G9W','CONSTRUCTORA JIMENEZ','BLVD.
B.JUAREZ','GUADALUPE','25750','MONCLOVA','COAHUILA','8666358467',50000,'juarezcontruct@hot
mail.com','HUMBERTO RAMIREZ SALAS','539871315471379413','15/03/2012','FRM',324)
INSERT INTO Clientes

values('HIP','HINP731568K6C','HINOJOSA PREMEZCLADOS','LIB. CARLOS SALINAS DE


GORTARI','OCCIDENTAL','28930','FRONTERA','COAHUILA','8666329436',35000,'hinojosapremezclad
os@hotmail.com','GUILLERMO DURAN ESPINOSA','671365482634428167','16/10/2012','HOP',60)
INSERT INTO Clientes
values('DIA','DIAZ387648Y4S','ELECTRONICA DIAZ','VENUSTIANO
CARRANZA','CENTRO','25000','MONCLOVA','COAHUILA','8666351158',28000,'electronicadiaz@hotma
il.com','VICENTE RUIZ JARAMILLO','834561397781314516','16/10/2012','MLD',55)
INSERT INTO Clientes
values('HVE','RPES164557A1Q','HERRERIA VELEZ','RAMOS
ARIZPE','REVOLUCION','25630','SAN
BUENAVENTURA','COAHUILA','8661308462',300,'robe_barca82@hotmail.com','DANIEL BUENTELLO
PEREZ','729435913349135441','24/09/2012','DSC',85)

INSERT INTO Agentes


values('YVS','YUVISELA VELAZQUEZ SANCHEZ')
INSERT INTO Agentes
values('FRM','FRANCISO ROMO MARTINEZ')
INSERT INTO Agentes
values('HOP','HUGO OLVERA PEREZ')
INSERT INTO Agentes
values('MLD','MONICA LOPEZ DURAN')
INSERT INTO Agentes
values('DSC','DANIEL SALAZAR CISNEROS')

INSERT INTO Proveedor


values('CEAP673482D6S','CAP','CEMENTOS APASCO S.A.','CARRETERA MTY-SALTILLO
KM.8','PROGRESO','MONTERREY','28690','NUEVO
LEON','8181535732','cementosapasco_nl@hotmail.com','ARMANDO MORALES
NUES','376254543877351924','BR')
INSERT INTO Proveedor
values('STER384657T2D','STR','STEREN DE MEXICO','AV. PINO SUAREZ','LOS
URDIALES','MONTERREY','28730','NUEVO LEON','8181525149','steren_mex@hotmail.com','TERESA
LOPEZ CASAS','671859325517954682','HS')
INSERT INTO Proveedor
values('PHIL149366R6Q','PHI','PHILIPS GLOBAL','AV. MURILLO VIDAL','MITRAS
NORTE','MONTERREY','28740','NUEVO LEON','8181537822','philips_global@hotmail.com','ALFREDO
MARTINEZ LIRA','716549351866421384','SR')
INSERT INTO Proveedor
values('RTPL934725C2J','RTP','GRUPO ROTOPLAS','AV. LUIS DONALDO COLOSIO','SAN
FRANCISCO','SANTA CATARINA','28790','NUEVO
LEON','8181541738','grupo_rotoplas@hotmail.com','GABRIELA MEJIA
ORTIZ','816347532498865617','SC')
INSERT INTO Proveedor
values('TODE579324W5L','TOD','ACEROS Y PERFILES TODESA','LIB. CARLOS SALINAS DE
GORTARI','REGIDORES','FRONTERA','25850','COAHUILA','8666348257','acerosyperfiles_todesa@ho
tmail.com','NORBERTO GARCIA MUOZ','463817689423547896','BX')
INSERT INTO Bancos

values('BR','BANCOMER','8666483782','BLVD. EJERCITO
NACIONAL','CHAMIZAL','MONCLOVA','COAHUILA','25843')
INSERT INTO Bancos
values('HS','HSBC','8666973654','BLVD. HAROLD R.
PAPE','GUADALUPE','MONCLOVA','COAHUILA','26781')
INSERT INTO Bancos
values('SR','SANTANDER','8666482794','BLVD. HAROLD R.
PAPE','GUADALUPE','MONCLOVA','COAHUILA','29574')
INSERT INTO Bancos
values('SC','SCOTIABANK
INVERLAT','8666278366','CARRANZA','CENTRO','MONCLOVA','COAHUILA','26837')
INSERT INTO Bancos
values('BX','BANAMEX','8666492461','AV.
MONTERREY','GUADALUPE','MONCLOVA','COAHUILA','24832')
INSERT INTO Compras
values('047','8','CAP','29/05/2012','FRONTERA','TA',10.5,'8324','29/08/2012',16,'YVS','T')
INSERT INTO Compras
values('038','47','STR','22/06/2012','CASTAOS','CO',12.5,'1379','22/09/2012',16,'FRM','F'
)
INSERT INTO Compras
values('071','24','PHI','04/10/2012','S.BUENAVENTURA','CO',11.7,'3984','04/12/2012',16,'HO
P','T')
INSERT INTO Det_Compra
values('047','1',12,3,5.4,'02')
INSERT INTO Det_Compra
values('038','2',240,5,9.7,'04')
INSERT INTO Det_Compra
values('071','3',90,7,4.1,'03')
INSERT INTO Ofertas
values('1','31/12/2012',9)
INSERT INTO Ofertas
values('2','31/12/2012',150)
INSERT INTO Ofertas
values('3','31/12/2012',85)

INSERT INTO Ventas

values('001','1','JCR',20.32,'14/08/2011','F','SALTILLO','CO','6871',16.0,'14/09/2012','YV
S')
INSERT INTO Ventas
values('002','3','CJI',10.5,'01/09/2012','T','TORREON','TA','8439',16.0,'01/10/2012','FRM'
)
INSERT INTO Ventas
values('003','6','HIP',12.3,'03/10/2012','T','MONCLOVA','TA','5914',16.0,'03/11/2012','HOP
')
INSERT INTO Det_Vta
values('1',9,12,'001',8.4,'02')
INSERT INTO Det_Vta
values('2',6,240,'002',13.2,'04')
INSERT INTO Det_Vta
values('3',7,90,'003',7.2,'03')

/*FIN DE EJECUCION
3---------------------------------------------------------------------------------*/
/*QUERY 1*/
/*1) Realizamos una venta al cliente 5 el dia de hoy, la cual facturamos con la
factura 25, la
cual contiene el articulo 4 con 5 unidades y el articulo 6 con 2 unidades*/
Select *
From Articulos
INSERT INTO Ventas
values('005','1','CJI',20.32,'28/10/2012','F','MONCLOVA','CO','6871',16.0,'28/11/2012','HO
P')
INSERT INTO Det_Vta
values('4',5,14,'005',8.4,'03')
INSERT INTO Det_Vta
values('6',2,20,'005',8.4,'01')
Update Articulos
set Existencia=Existencia-5
where Id_Art ='4'
Update Articulos
set Existencia = Existencia-2
where Id_Art ='6'

/*2) Cambiar la fecha de vencimiento de la venta cuyo Id_Venta es "X", poner como
fecha de vencimiento 15 dias mas
a partir de la fecha actual*/
Select *
From Ventas
/*

Update Ventas
set Fecha_Venc = '28/10/2012'
where Id_Venta ='005'
*/
Update Ventas
set Fecha_Venc = DATEADD(DD ,15,Fecha_Venc)
--set Fecha_Venc = DATEADD(DD ,15,GETDATE())--OTRA OPCION, SEGUN EL DIA ACTUAL
where Id_Venta = '005'
/*3) Cambiar el atributo Cuenta_Bco a tamao 18 de la tabla "Ventas"*/
ALTER Table Ventas
ALTER Column Cta_banco char(18)

/*-------------------------------------------------------QUERY 2
1) Mostrar todos los articulos del grupo 02
2) Modificar el precio de venta de los articulos del grupo 01 aumentandole un 10%
3) Cuantos articulos hay en la tabla de "Articulos"
4) Muestre descripcin del articulo, nombre del grupo al que pertenece por cada
articulo
5) Muestre la descripcion, unidad(descripcion) de los articulos cuyo precio sea
mayor de $150.00
6) Cambie la existencia del articulo 2, disminuyala en 3 unidades
7) Muestre todos los clientes que tienen cuyo limite de crdito es mayor que 2500
8) Cambie el nombre de la unidad "kilogramo", ponga "kilo"
9) Cuantos clientes tiene la tabla "Clientes"?
10) Ponga un nuevo campo en la tabla "Clientes" con el nombre "Pais" tipo character
de 15
*/
/*1)*/
Select *
From Articulos
Where Id_Grupo = 02
/*2)*/
Update Articulos
set Precio_Vta_Menudeo = Precio_Vta_Menudeo+(Precio_Vta_Menudeo *0.10)
Where Id_Grupo = 01

Update Articulos
set Precio_Vta_Mayoreo = Precio_Vta_Mayoreo+(Precio_Vta_Mayoreo *0.10)
Where Id_Grupo = 01
/*
Select *
From Articulos
*/
/*3)*/
Select COUNT(Id_Art)
From Articulos
/*4)*/
Select A.Descripcion, B.Descripcion
From Articulos A, Grupos B
Where A.Id_Grupo = B.Id_Grupo
/*5)*/
Select A.Descripcion, B.Descripcion
From Articulos A, Unidades B

Where (A.Id_Unidad = B.Id_Unidad) AND A.Precio_Vta_Menudeo >= 150


/*6*/
Update Articulos
set Existencia = 3
where Id_Art =2
/*
Select *
From Articulos
*/
/*7)*/
Select *
From Clientes
where Limite_Credito > 2500
/*8)*/
Update Unidades
set Descripcion = 'kilo'
where Descripcion = 'kilogramo'
/*
Select *
From Unidades
*/
/*9)*/
Select COUNT(Id_Cte)
From Clientes
/*
Select *
From Clientes
*/
/*10)*/
ALTER Table Clientes
ADD Pais char(15)
/*
Select *
From Clientes
*/
/*10)-CONTINUACION*/
Update Clientes
set Pais = 'EU'
where Id_Cte = 'JCR'
Update Clientes
set Pais = 'ESPAA'
where Id_Cte = 'CJI'
Update Clientes
set Pais = 'ARGENTINA'
where Id_Cte = 'HIP'
Update Clientes
set Pais = 'CANADA'
where Id_Cte = 'DIA'
Update Clientes
set Pais = 'MEXICO'
where Id_Cte = 'HVE'
/*
Select *
From Clientes

*/
/*--------------------------------------------------------------------------------*/
/*QUERY 3-------------------------------------------------------------------------------*/
/*
Select *
From Ventas
Select *
From Det_Vta
Select *
From Articulos
*/
/*1) Calcular el total vendido en el dia y mostrarlo*/
INSERT INTO Ventas
values('006','1','JCR',20.32,'28/10/2012','F','SALTILLO','CO','6871',16.0,'28/11/2012','YV
S')
INSERT INTO Ventas
values('007','1','CJI',20.32,'28/10/2012','F','MONCLOVA','CO','6871',16.0,'28/11/2012','HO
P')
INSERT INTO Ventas
values('008','1','HIP',20.32,'28/10/2012','F','SALTILLO','TA','6871',16.0,'28/11/2012','FR
M')
INSERT INTO Det_Vta
values('6',2,14,'006',8.4,'03')
INSERT INTO Det_Vta
values('4',8,23,'007',8.4,'01')
INSERT INTO Det_Vta
values('5',5,20,'008',8.4,'04')
INSERT INTO Det_Vta
values('5',3,20,'007',9.3,'04')
/*
Select *
From Ventas
Select *
From Det_Vta
*/
Select sum(B.Precio*B.Cantidad) AS 'Total venta'
From Ventas A, Det_Vta B
Where A.Fecha = '28/10/2012' AND A.Id_Venta=B.Id_Venta
/*Where A.Fecha = getdate() AND A.Id_Venta=B.Id_Venta*/ --getdate() probablemente no
aplique
/*
SELECT getdate()

From Ventas
select getdate()
*/
/*2) Mostrar cada una de las ventas con su detalle (No_Factura, Id_Art, Descripcion,
Precio unitario(Precio) y Cantidad)*/
Select A.Id_Venta, A.No_Factura,B.Id_Art, C.Descripcion, B.Precio, B.Cantidad
From Ventas A, Det_Vta B, Articulos C
Where A.Id_Venta= B.Id_Venta AND B.Id_Art=C.Id_Art
/*3) Muestre cuanto le hemos vendido al cliente "X" en el trasncurso del mes*/
Select A.Id_Cte, A.Nombre,SUM(C.Cantidad*C.Precio) AS Total
From Clientes A, Ventas B, Det_Vta C
Where A.Id_Cte ='JCR' AND B.Fecha BETWEEN '01/10/2012' AND GETDATE() AND
A.Id_Cte=B.Id_Cte AND B.Id_Venta=C.Id_Venta
Group By A.Id_Cte, A.Nombre
/*4) Muestre el nombre de cada producto, su existencia y sus precios de venta (de
articulos cuyo "Precio_Costo" est entre 50 y 100*/
Select Descripcion, Existencia, Precio_Vta_Mayoreo, Precio_Vta_Menudeo, Precio_Costo
From Articulos
Where Precio_Costo BETWEEN 50 AND 100
/*PENDIENTES*/
/*5) Cuantas unidades hemos vendido del articulo "X" y a cuanto asciende su $ dicha venta
en el transcurso del mes actual*/
Select *
From Det_Vta
Select *
From Articulos
/*
Select A. Id_Art, C. Descripcion, A.Cantidad, A.Precio, A.Id_Venta, SUM(A.Cantidad),
SUM(A.Cantidad*A.Precio)
From Det_Vta A, Ventas B, Articulos C
Where A.Id_Art ='5' AND C.Id_Art=A.Id_Art AND A.Id_Venta=B.Id_Venta AND B.Fecha
BETWEEN '01/10/2012' AND GETDATE()
GROUP BY A. Id_Art, C. Descripcion, A.Cantidad, A.Precio, A.Id_Venta
*/
Select SUM(A.Cantidad) AS 'Cantidad de Unidades', SUM(A.Cantidad*A.Precio) AS '$ TOTAL'
From Det_Vta A, Ventas B
Where A.Id_Art ='5' AND A.Id_Venta=B.Id_Venta AND B.Fecha BETWEEN '01/10/2012' AND
GETDATE()
/*6) Elimine la factura No "X" y su detalle*/
Select *
From Ventas
Delete Ventas
Where No_Factura='3'
/*7) Cuanto es el valor del Inventario actual*/
Select *
From Articulos
Select SUM(Precio_Costo*Existencia)

From Articulos

--EXTRAS----------------EXTRAS----------------EXTRAS----------------EXTRAS--------------Select Precio
From Det_Vta
Select Cantidad
From Det_Vta
Select sum(Precio)
From Det_Vta
Select sum(Cantidad)
From Det_Vta
Select (sum(Precio)/sum(Cantidad)) AS DIVISION
From Det_Vta
Select (Precio/Cantidad) AS DIVISION
From Det_Vta
Select Precio, Cantidad
From Det_Vta

Select Precio, Cantidad


From Det_Vta
Select AVG(A.Precio), AVG(A.Cantidad), SUM(B.Limite_Credito)
From Det_Vta A, Clientes B
--GROUP BY B.Limite_Credito

Select Limite_Credito
From Clientes
Select SUM(Limite_Credito)
From Clientes

También podría gustarte