Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Final de Gestion 16-02-2016
Autor Mensaje
gabel Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4
Agradecimientos dados: 0
Agradecimientos: 4 en 2 posts
Registro en: Jul 2012
Mensaje: #1
Final de Gestion 16-02-2016 Finales Gestión de Datos
[Imagen: deoep2.jpg]
(Este mensaje fue modificado por última vez en: 19-02-2016 18:37 por gabel.)
19-02-2016 17:02
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] gabel recibio 3 Gracias por este post
CarooLina (19-02-2016), proyectomaru (20-02-2016), Sir Ulrich (06-03-2017)
alelnro1 Sin conexión
Profesor del Modulo A
Stand by me
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 207
Agradecimientos dados: 84
Agradecimientos: 20 en 13 posts
Registro en: Apr 2010
Mensaje: #2
RE: Final de Gestion 16-02-2016
Si podes copate y subilo mejor

Pixeli Design - www.pixelides.com - Diseño Web con clase
19-02-2016 18:12
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gabel Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4
Agradecimientos dados: 0
Agradecimientos: 4 en 2 posts
Registro en: Jul 2012
Mensaje: #3
RE: Final de Gestion 16-02-2016
(19-02-2016 18:12)alelnro1 escribió:  Si podes copate y subilo mejor

Ahi lo pude subir bien.
19-02-2016 18:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gabel Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4
Agradecimientos dados: 0
Agradecimientos: 4 en 2 posts
Registro en: Jul 2012
Mensaje: #4
RE: Final de Gestion 16-02-2016
Ejercicio 3B.
Lo probe en SQL server con un conjunto pequeño de registros. Espero sus comentarios.

/* Solucion 1 */
select i.ite_codproducto, i2.ite_codproducto from item i join item i2 on i.ite_facnumero = i2.ite_facnumero and i.ite_id > i2.ite_id group by i.ite_codproducto, i2.ite_codproducto having count(*) > 500;

/* Solucion 2 */
select i.ite_codproducto, i2.ite_codproducto from item i,item i2 where i.ite_facnumero = i2.ite_facnumero and i.ite_id > i2.ite_id group by i.ite_codproducto, i2.ite_codproducto having count(*) > 500;

/* Solucion 3A */ /* Nose si estara bien, seria solo para el insert. Espero sus comentarios */
create trigger validaciones on factura
after insert, update
as
begin
declare @facturanum int, @fecha datetime, @importe int
declare curValidar cursor for
select fac_numero, fac_fecha, fac_importe from inserted
open curValidar into @facturanum, @fecha, @importe
while (@@fetch_status=0)
begin
if (select 1 from factura where not exists ( select * from item where ite_facnumero = @facturanum))
begin
insert into factura (fac_numero, fac_fecha, fac_importe)
values (@facturanum, @fecha, @importe)
end
else
begin
raiserror ('La factura ya existe')
rollback transaction
end
end
close curValidar
deallocate curValidar
end
(Este mensaje fue modificado por última vez en: 20-02-2016 21:42 por gabel.)
19-02-2016 21:20
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] gabel recibio 1 Gracias por este post
CarooLina (19-02-2016)
Alhasar Sin conexión
Campeon del cubo Rubik
Analista
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 111
Agradecimientos dados: 26
Agradecimientos: 32 en 21 posts
Registro en: Jun 2012
Mensaje: #5
RE: Final de Gestion 16-02-2016
Buenas Probe tus soluciones pero no me dan todos los resultados, probe tambien con un distinto en lugar de mayor, pero me da los resultados dobles.

Les dejo por si quieren probar, todavia no me salio sin duplicados:

drop table item;
drop table factura;
drop table cliente;
create table cliente ( clie_codigo int PRIMARY KEY , nombre varchar(10));

insert into cliente values (1, 'carlos');
insert into cliente values (2, 'carlos2');
insert into cliente values (3, 'carlos3');
insert into cliente values (4, 'carlos4');
insert into cliente values (6, 'carlos6');

create table factura ( fac_numero int PRIMARY KEY , fac_estado varchar(10),
fac_importe int,clie_codigo int FOREIGN KEY references cliente(clie_codigo));

insert into factura values (1, 'carlos',1500,1);
insert into factura values (2, 'carlos2',1500,1);
insert into factura values (3, 'carlos3',45,2);
insert into factura values (4, 'carlos4',34,2);
insert into factura values (5, 'carlos4',34,1);
insert into factura values (6, 'carlos6',56,6);

create table item ( ite_id int PRIMARY KEY , ite_cod_producto int,
ite_cantidad int,fac_numero int FOREIGN KEY references factura(fac_numero));
--El item 1 esta en la misma factura que 2,4,5 y 6 (Factura 1)
insert into item values (1, 1,112,1);
insert into item values (2, 2,123,1);
insert into item values (9, 4,334,1);
insert into item values (7, 5,523,1);
insert into item values (5, 6,512,1);
--El item 3 esta en la misma factura que 12,11,4,5,8,9 y7 (Factura 2 )
insert into item values (11, 11,112,2);
insert into item values (12, 12,123,2);
insert into item values (19, 4,334,2);
insert into item values (17, 5,523,2);
insert into item values (15, 7,512,2);
insert into item values (13, 3,245,2);
insert into item values (14, 8,234,2);
--El item 1 esta en la misma factura que 4,5 y 6 (factura 3)
-- Tambien compartian item 1 en la Factura 1 los items 4,5 y 6
-- 4 y 5 compartian item 3 en la factura 2
insert into item values (10, 4,556,6);
insert into item values (16, 5,656,6);
insert into item values (6, 6,656,6);
insert into item values (20, 1,556,6);
insert into item values (18, 3,345,6);



y el select que estoy realizando es :

select i.ite_cod_producto, i2.ite_cod_producto
from item i join item i2 on i.fac_numero = i2.fac_numero and i.ite_id <> i2.ite_id
group by i.ite_cod_producto, i2.ite_cod_producto having count(*) > 1
order by 1,2;

22-02-2016 00:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
drums Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Feb 2016
Mensaje: #6
RE: Final de Gestion 16-02-2016
Creo que sería así:


select i1.ite_codproducto, i2.ite_codproducto
from Item i1
join Item i2 on i1_ite_facnumero = i2_ite_facnumero
AND i1.ite_codproducto > i2.ite_codproducto
group by i1.ite_codproducto, i2.ite_codproducto
having count(distinct i1.ite_facnumero) > 500

23-02-2016 13:14
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Martin. Sin conexión
Presidente del CEIT
Enjoy it !
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.351
Agradecimientos dados: 85
Agradecimientos: 241 en 125 posts
Registro en: Oct 2011
Mensaje: #7
RE: Final de Gestion 16-02-2016
La consulta de Drums està correcta.

Pasada en limpio para que la puedan copiar y correr sería:




SELECT I.ite_cod_producto, I_2.ite_cod_producto FROM ITEM I
INNER JOIN ITEM I_2
ON I.fac_numero = I_2.fac_numero
AND I.ite_cod_producto < I_2.ite_cod_producto
GROUP BY I.ite_cod_producto, I_2.ite_cod_producto
HAVING COUNT(DISTINCT I.FAC_NUMERO) > 500
ORDER BY 1



[Imagen: jQJfyBGh9SOmZ.png]
(Este mensaje fue modificado por última vez en: 23-02-2016 13:51 por Martin..)
23-02-2016 13:50
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Martin. recibio 2 Gracias por este post
tincho543 (13-02-2017), Sir Ulrich (06-03-2017)
chdonof Sin conexión
Empleado del buffet
...
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 18
Agradecimientos dados: 4
Agradecimientos: 8 en 4 posts
Registro en: Dec 2013
Mensaje: #8
RE: Final de Gestion 16-02-2016
(23-02-2016 13:50)Martin. escribió:  La consulta de Drums està correcta.

Pasada en limpio para que la puedan copiar y correr sería:




SELECT I.ite_cod_producto, I_2.ite_cod_producto FROM ITEM I
INNER JOIN ITEM I_2
ON I.fac_numero = I_2.fac_numero
AND I.ite_cod_producto < I_2.ite_cod_producto
GROUP BY I.ite_cod_producto, I_2.ite_cod_producto
HAVING COUNT(DISTINCT I.FAC_NUMERO) > 500
ORDER BY 1



hola... En el count no hace falta poner el distinct. solo seria necesario si en la misma factura tuviesemos mas de una vez el mismo codigo de producto...
tampoco esta mal asi, solo q estaria de mas.
06-02-2017 12:18
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.