Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2014
Avatar de eennzzoo
eennzzoo eennzzoo is offline
Miembro
NULL
 
Registrado: nov 2013
Ubicación: Argentina
Posts: 59
Poder: 11
eennzzoo Va por buen camino
Consultas en SQL

Hola tengo las siguientes tablas y tengo dificultad en resolver las consultas.

Código SQL [-]
create table productos (cod_prod smallint not null,
                        descripcion varchar(30) not null,
                        marca varchar (30) not null,
                        stok int not null,
                        stock_min int not null,
                        precio float not null,
                        cod_grupo smallint not null,
                        cod_familia smallint not null,
                        primary key (cod_prod),
                        foreign key (cod_grupo) references grupo(cod_grupo),
                        foreign key (cod_familia) references familia(cod_familia))
create table proveedores (cod_prov smallint not null,
                          nombre varchar (30) not null,
                          telefono int not null,
                          direccion varchar (30) not null,
                          fax int  not null,
                          primary key (cod_prov))
create table pedidos (num_pedido smallint not null,
                     cod_prov smallint not null,
                     cod_prod smallint not null,
                     fecha date not null,
                     nombre_contacto varchar (30) not null,
                     primary key (num_pedido),
                     foreign key (cod_prov) references proveedores(cod_prov),
                     foreign key (cod_prod) references productos(cod_prod))
create table clientes (dni int not null,
                       nombre varchar(30) not null,
                       apellido varchar(30) not null,
                       direccion varchar (30) not null,
                       telefono varchar(11) not null,
                       primary key (dni))
create table compras (num_factura_compra smallint not null,
                      fecha_compra date not null,
                      fecha_venc date not null,
                      importe_total float not null,
                      forma_de_pago  varchar(30) check (forma_de_pago in ('Efectivo','Tarjeta de crédito','Tarjeta de débito','Cuenta Corriente')),
                      dni int not null,
                      primary key (num_factura_compra),
                      foreign key (dni) references clientes (dni))
create table facturas (num_factura smallint not null,
                       fecha date not null,
                       importe_total float not null,
                       cod_prov smallint not null,
                       cod_prod smallint not null,
                       primary key (num_factura),
                       foreign key (cod_prov) references proveedores(cod_prov),
                       foreign key (cod_prod) references productos(cod_prod))
create table familia (cod_familia smallint not null,
                      tipo varchar(30) not null,
                      primary key (cod_familia))
create table grupo (cod_grupo smallint not null,
                    tipo varchar (30) not null,
                    cod_familia smallint not null,
                    primary key (cod_grupo),
                    foreign key (cod_familia) references familia(cod_familia))
create table pagos (num_pago smallint not null,
                    fecha date not null,
                    saldo float not null,
                    num_factura_compra smallint not null,
                    primary key (num_pago),
                    foreign key (num_factura_compra) references compras(num_factura_compra))
create table detallefactura (num_factura smallint not null,
                             cod_prov smallint not null,
                             cantidad int not null,
                             foreign key (num_factura) references facturas(num_factura),
                             foreign key (cod_prov) references proveedores(cod_prov))
create table detallecompra (num_factura_compra smallint not null,
                            cod_prod smallint not null,
                            cantidad smallint not null,
                            foreign key (cod_prod) references productos(cod_prod),
                            foreign key (num_factura_compra) references compras(num_factura_compra))

insert into clientes (dni, nombre, apellido, direccion, telefono)
            values (33666888, 'Carlos', 'Sanchez', 'Corrientes 526','3435626983')    
insert into proveedores (cod_prov, nombre, telefono ,direccion, fax)
            values (1, 'Pedro', 343262659, 'Miguel David', 545466468)
insert into proveedores (cod_prov, nombre, telefono ,direccion, fax)
            values (2, 'Julian', 343562995, 'Almafuerte 899', 122364548)
insert into familia (cod_familia, tipo)
            values (1, 'Limpieza')
insert into familia (cod_familia, tipo)
            values (2, 'Bebidas')
insert into grupo (cod_grupo, tipo, cod_familia)
            values (1, 'Detergente', 1)
insert into grupo (cod_grupo, tipo, cod_familia)
            values (2, 'Agua', 2)
insert into grupo (cod_grupo, tipo, cod_familia)
            values (3, 'Gaseosas', 2)
insert into productos (cod_prod, descripcion, marca, stok, stock_min, precio, cod_grupo, cod_familia)
            values (1, 'Aguas minerales', 'Villavicencio', 20, 5, 15.5, 2, 2)
insert into productos (cod_prod, descripcion, marca, stok, stock_min, precio, cod_grupo, cod_familia)
            values (2, 'Gaseosas', 'Pepsi', 50, 10, 19, 3, 2)
insert into compras (num_factura_compra, fecha_compra, fecha_venc, importe_total,forma_de_pago, dni)
            values (80, '20/12/2014', '20/12/2015', 500, 'Efectivo', 33666888)
insert into compras (num_factura_compra, fecha_compra, fecha_venc, importe_total,forma_de_pago, dni)
            values (85, '20/11/2014', '20/12/2014', 20, 'Efectivo', 33666888)
insert into compras (num_factura_compra, fecha_compra, fecha_venc, importe_total,forma_de_pago, dni)
            values (90, '20/01/2015', '20/06/2015', 100, 'Cuenta Corriente', 33666888)
insert into detallecompra (num_factura_compra, cod_prod, cantidad)
            values (80,1,2)
insert into detallecompra (num_factura_compra, cod_prod, cantidad)
            values (80,2,3)
insert into detallecompra (num_factura_compra, cod_prod, cantidad)
            values (90,2,4)
insert into detallecompra (num_factura_compra, cod_prod, cantidad)
            values (85,2,5)
insert into pagos (num_pago, fecha, saldo, num_factura_compra)
            values (30, '23/06/2015', 500, 80)
insert into pagos (num_pago, fecha, saldo, num_factura_compra)
            values (40, '26/02/2015', 350, 90)
insert into facturas (num_factura, fecha, importe_total, cod_prov, cod_prod)
            values (40, '15/10/2014', 1000, 1, 1)
insert into detallefactura (num_factura, cod_prov, cantidad)
            values (40, 1, 24)
insert into pedidos (num_pedido, fecha, nombre_contacto, cod_prod, cod_prov)
            values (70, '30/06/2014', 'Alberto', 2, 1)
insert into pedidos (num_pedido, fecha, nombre_contacto, cod_prod, cod_prov)
            values (75, '30/09/2014', 'Alberto', 1, 2)
insert into pedidos (num_pedido, fecha, nombre_contacto, cod_prod, cod_prov)
            values (76, '30/09/2014', 'Alberto', 2, 2)

CONSULTAS:

--Código, descripción y cantidad de productos vendidos durante un mes dado

--Operaciones de un cliente dado durante un período indicado

--Saldo en cuenta corriente de un cliente dado

--Detalle de operaciones en cuenta corriente de un cliente dado

--Datos de proveedores que suministran aguas minerales y gaseosas

--Datos y cantidades de productos más vendidos durante un mes dado.

--Ganancia obtenida en un período dado.

--Medios de pagos más utilizados en el último trimestre.

--Totales de compras realizadas por familias y grupos de productos.
__________________
https://www.facebook.com/riverplateoficial

Última edición por Neftali [Germán.Estévez] fecha: 05-11-2014 a las 15:44:42. Razón: Editado, porque hace daño a la vista!!!
Responder Con Cita
  #2  
Antiguo 05-11-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 05-11-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Por favor lee la guia de estilo.

Has hecho un curso de SQL? Conoces de bases de datos relacionales?

Hace un tiempo dicte un curso con la ayuda de este sitio:

http://www.devjoker.com/gru/Tutorial...nsact-SQL.aspx


--
P.D: Para que te quede claro: Es mejor hacer de a una sola pregunta a la vez. Debes mostrar que has intentado. Deben haber ejemplos de codigo y de *datos*.
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 05-11-2014
Avatar de eennzzoo
eennzzoo eennzzoo is offline
Miembro
NULL
 
Registrado: nov 2013
Ubicación: Argentina
Posts: 59
Poder: 11
eennzzoo Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Por favor lee la guia de estilo.

Has hecho un curso de SQL? Conoces de bases de datos relacionales?

Hace un tiempo dicte un curso con la ayuda de este sitio:

http://www.devjoker.com/gru/Tutorial...nsact-SQL.aspx


--
P.D: Para que te quede claro: Es mejor hacer de a una sola pregunta a la vez. Debes mostrar que has intentado. Deben haber ejemplos de codigo y de *datos*.
Hola, si estoy dando sobre base de datos en la facultad pero muy poco sobre sql.
__________________
https://www.facebook.com/riverplateoficial
Responder Con Cita
  #5  
Antiguo 05-11-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Aquí tienes un tutorial en línea, muy sencillo:
http://www.desarrolloweb.com/manuales/9/
Responder Con Cita
  #6  
Antiguo 05-11-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Iba a decir que perecen los deberes de clase, cuando has colocado tu segundo mensaje.
Deberías intentar hacer alguna de las consultas y colocarla aquí (lo que te salga), y en ese caso intentaremos ayudarte, pero poner directamente los deberes aquí para que los resolvamos, no parece muy correcto.

Intenta hacer alguna y pregunta sobre lo que tengas dudas o no entiendas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 05-11-2014
Avatar de eennzzoo
eennzzoo eennzzoo is offline
Miembro
NULL
 
Registrado: nov 2013
Ubicación: Argentina
Posts: 59
Poder: 11
eennzzoo Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Iba a decir que perecen los deberes de clase, cuando has colocado tu segundo mensaje.
Deberías intentar hacer alguna de las consultas y colocarla aquí (lo que te salga), y en ese caso intentaremos ayudarte, pero poner directamente los deberes aquí para que los resolvamos, no parece muy correcto.

Intenta hacer alguna y pregunta sobre lo que tengas dudas o no entiendas.
Código SQL [-]

 --Código, descripción y cantidad de productos vendidos durante un mes dado
select productos.cod_prod, descripcion, detallecompra.cantidad
from productos, detallecompra, compras
where fecha_compra between '01/12/2014' and '31/12/2014'
group by productos.cod_prod, descripcion


--Operaciones de un cliente dado durante un período indicado
select dni, forma_de_pago
from compras
where fecha_compra between '01/12/2014' and '31/12/2014'


--Saldo en cuenta corriente de un cliente dado
select saldo, dni
from pagos, compras
where pagos.num_factura_compra = compras.num_factura_compra and forma_de_pago = 'Cuenta Corriente'


--Detalle de operaciones en cuenta corriente de un cliente dado
select *
from compras
where forma_de_pago = 'Cuenta Corriente'


--Datos de proveedores que suministran aguas minerales y gaseosas
select *
from proveedores
where cod_prov in 
    (select cod_prov
     from pedidos
     where cod_prod in
          (select cod_prod
           from productos
           where descripcion = 'Gaseosas' or descripcion = 'Aguas minerales'))         


--Datos y cantidades de productos más vendidos durante un mes dado.
select marca, count(*) as [Total de productos vendidos] 
from productos, detallecompra, compras
where detallecompra.cod_prod = productos.cod_prod and MONTH(fecha_compra)=11
group by marca
order by (COUNT(*)) desc


--Ganancia obtenida en un período dado.    
select sum (importe_total) as [Ganancia]
from compras
where fecha_compra between '01/12/2014' and '31/12/2014'


--Medios de pagos más utilizados en el último trimestre.    
select forma_de_pago, COUNT(*) as [Veces que fue utilizado]
from compras
where fecha_compra between '01/10/2014' and '31/12/2014'
group by forma_de_pago


--Totales de compras realizadas por familias y grupos de productos.  
select count(*) as [Total], familia.tipo as [Tipo de familia], grupo.tipo as [Tipo de grupo]
from grupo, familia, detallecompra, productos
where grupo.cod_grupo = productos.cod_grupo and familia.cod_familia = productos.cod_familia and detallecompra.cod_prod = productos.cod_prod
group by familia.tipo, grupo.tipo
__________________
https://www.facebook.com/riverplateoficial
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Eficiencia de consultas paramétricas vs consultas estáticas movorack Conexión con bases de datos 9 15-07-2014 14:49:34
Consultas con SQL luxus Conexión con bases de datos 6 26-06-2006 15:19:35
Consultas SQL V.S. Consultas Clipper AGAG4 SQL 7 20-12-2005 15:59:31
Consultas silviodp Conexión con bases de datos 6 05-08-2004 23:44:24
Consultas NickName Firebird e Interbase 1 27-11-2003 05:37:27


La franja horaria es GMT +2. Ahora son las 11:09:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi