domingo, 22 de abril de 2012

Procedimiento


CREATE PROCEDURE realizarcompra (in pid_articulo varchar (20), pid_transaccion varchar (20), pid_cliente varchar (20), pfechatransaccion date, pvalor_transaccion int (40))
begin
insert into transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion,valor_transaccion) values ("3", "4", "1", "2010-10-10", "600000");
insert into transaccionxarticulo (id_articulo, id_transaccion) values ("401", "03");
end


Vistas


☻Vista1: Muestra el tipo y precio de cada articulo

create view vista1 as
select articulo.id_articulo,articulo.nombre,articulo.id_tipo,articulo.valor,tipo.descripcion from articulo,tipo
where articulo.id_tipo = tipo.id_tipo;
select * from vista1 ;




 ☻Vista2: Muestra las ventas que realiza un empleado en 3 meses

create view vista2 as
select empleado.id_empleado,empleado.nombre_emp
from empleado,transacciones
where empleado.id_empleado=transacciones.id_empleado
and fechatransaccion > (date_add(curdate(),interval -  3 month )) ;
select * from vista2 ;


☻ Consulta que utiliza las dos vistas (vista1 y vista2) y muestre que artículos ha vendido cada empleado

select vista1.id_articulo , vista1.nombre, vista2. nombre_emp, fechatransaccion  from artxtrans, transacciones, vista1, vista2
where vista1.id_articulo=artxtrans.id_articulo
and vista2.id_empleado=transacciones.id_empleado
and transacciones.id_transaccion=artxtrans.id_transaccion;


Consultas por descripción


select descripcion,count(*) from tipo
join articulo
on tipo.id_tipo = articulo.id_tipo
join artxtrans
on artxtrans.id_articulo=articulo.id_articulo
join transacciones
on transacciones.id_transaccion = artxtrans.id_transaccion
group by (descripcion);


Consultas Join


CONSULTA left outer join
select nombre,id_transaccion from articulo
left outer join transacciones
on transacciones.id_articulo = articulo.id_articulo
group by nombre;


select nombre_cliente, email,id_transaccion from cliente
left outer join transacciones
on transacciones.id_cliente = cliente.id_cliente
group by nombre_cliente;


CONSULTA right outer join 
select nombre,id_transaccion from articulo
right outer join transacciones
on transacciones.id_articulo = articulo.id_articulo
group by nombre;


select nombre_cliente,email,id_transaccion from cliente
right outer join transacciones
on transacciones.id_cliente = cliente.id_cliente
group by nombre_cliente;

CONSULTA join
Consulta joing que muestre el nombre, teléfono del cliente ademas del vendedor que hizo la venta y el articulo que se compro
select nombre_cliente,email,nombre_emp,nombre
from transacciones
join cliente
on transacciones.id_cliente = cliente.id_cliente
join empleado
on transacciones.id_empleado = empleado.id_empleado
join artxtrans
on artxtrans.id_transaccion = transacciones.id_transaccion
join articulo
on articulo.id_articulo = artxtrans.id_articulo
where fechatransaccion >  (date_add(curdate(),interval - 1 month)) ;






Consulta de una fecha especifica


Select cliente.id_cliente, cliente.nombre_cliente, transacciones.id_transaccion, transacciones.fechatransaccion, dayname('2012-02-03'),monthname('2012-02-03')
from cliente,transacciones,artxtrans,articulo
where transacciones.id_transaccion = artxtrans.id_transaccion
and transacciones.id_cliente = cliente.id_cliente
and fechatransaccion = ('2012-02-03')
group by id_cliente
order by nombre_cliente asc ;

Select cliente.id_cliente, cliente.nombre_cliente, transacciones.id_transaccion, transacciones.fechatransaccion, dayname('2012-02-15'),monthname('2012-02-15')
from cliente,transacciones,artxtrans,articulo
where transacciones.id_transaccion = artxtrans.id_transaccion
and transacciones.id_cliente = cliente.id_cliente
and fechatransaccion = ('2012-02-15')
group by id_cliente
order by nombre_cliente asc ;


miércoles, 7 de marzo de 2012

Consultas


Listar los clientes (nombre) que compraron un artículo determinado:

SELECT cliente.nombre_cliente,transacciones.id_articulo
FROM transacciones,cliente
WHERE transacciones.id_cliente =cliente.id_cliente
AND transacciones.id_articulo ="3";



SELECT cliente.nombre_cliente,transacciones.id_articulo
FROM transacciones,cliente
WHERE transacciones.id_cliente =cliente.id_cliente
AND transacciones.id_articulo ="2";


Listar los tipos de artículos vendidos por vendedor:

SELECT tipo.descripcion, transacciones.id_articulo
FROM transacciones, tipo
WHERE transacciones.id_articulo = tipo. id_tipo;


Listar los clientes y vendedores para el día de hoy:

SELECT cliente.nombre_cliente,empleado.nombre
FROM cliente,empleado,transacciones
WHERE transacciones.fechatransaccion = "2012-02-15";





martes, 21 de febrero de 2012

Datos insertados


INSERT INTO tipo (descripcion) VALUES ("Tecnologia");

INSERT INTO tipo (descripcion) VALUES ("Hogar");

INSERT INTO tipo (descripcion) VALUES ("Papeleria");

INSERT INTO tipo (descripcion) VALUES ("Calzado");


INSERT INTO tipo (descripcion) VALUES ("Ropa");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("1","2","cortinas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("2","2","colchon");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("3","1","computador");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("4","2","toallas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("5","3","block rayado");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("6","1","xbox");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("7","5","camisas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("8","5","chaquetas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("9","4","tenis escolares");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("1","Andres","andres@hormail.com","calle50#30 a");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("2","Carlos","carlos@hormail.com","calle50#36 b");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("3","Enrique","enrique@hormail.com","calle50#39 c");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("4","Alonso","lonso@hormail.com","calle50#31 v");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("5","Gerardo","grardo@hormail.com","calle50#38 a");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("6","Roberto","roberto@hormail.com","calle50#40 a");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("7","Hernan","nando@hormail.com","calle50#60 b");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("7","3","1","2012-02-15");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("1","1","2","2012-02-10");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("3","5","3","2012-02-2");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("5","4","4","2012-02-5");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("6","2","5","2012-02-7");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("2","8","6","2012-02-16");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("4","7","7","2012-02-20");

INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("1","Raul Perez","2010-01-04","600000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("2","ana gomez","2010-08-24","800000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("3","Esteban lopez","2009-01-25","650000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("4","cristina goez","2010-10-11","640000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("5","arnauldo rios","2011-11-12","680000");