Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2004
agilaberte agilaberte is offline
Registrado
 
Registrado: abr 2004
Posts: 1
Poder: 0
agilaberte Va por buen camino
Exclamation Consultas

Hola, tengo unas dudas sobre unas consultasen sql, si alguien me pueda hechar una manita, agradezco eternamente, el único problema es que necesito para hoy ¡!



Tengo una base de datos llamada COMERCIO que posee 5 tablas:



CENTROS

Código (clave primaria)

Ciudad

Zona



CLIENTES

Nif (clave primaria)

Razon_social

Dirección

Teléfono

Descuento



PEDIDOS

Numero (clave primaria)

Cod_producto

Fecha

Nif_cliente

Cod_vendedor

Unidades



PRODUCTOS

Codigo (clave primaria)

Componente

Descripción

Precio

Stock



VENDEDORES

Codigo (clave primaria)

Nombre

Edad

Cod_centro



Ahora necesito las siguientes consultas:



1. ¿En qué ciudades se han vendido placas base? ¿Cuántas unidades y de qué tipo (descripción) se han vendido? Ordena la salida por ciudad.



2..- Queremos premiar a aquellos clientes que nos han comprado impresoras por un valor mayor a 80 euros. Por cuestiones de organización interna nos interesa saber a qué zonas pertenecen esos clientes, quien ha sido el vendedor que ha realizado el pedido y qué tipo de impresora han comprado. A su vez también necesitamos el número de teléfono del cliente para llamarle y darle la enhorabuena. Queremos que los datos aparezcan ordenados de mayor a menor por el total pagado por cada cliente.



3.- El director de la empresa quiere un listado alfabético con todos los vendedores y el número de unidades vendidas por cada vendedor (incluso para aquellos vendedores que no tuvieron nunca ningún pedido).


4. Inventar una consulta bastante creativa.

Gracias !
Responder Con Cita
  #2  
Antiguo 04-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
veamos, lo primero de todo aconsejarte un libre de SQL, ya que no son demasiado complicadas estas consultas

1.- dependerá si lo que sabemos es la descriocion o el codigo del producto
Código:
select c.ciudad, r.codigo, r.descripcion, count(*)
from pedidos p
     inner join productos r on r.codigo = p.cod_prod
     inner join vendedores v on v.codigo = p.cod_vend
     inner join centros c on c.codigo = v.cod_centro
where r.descripcion like '%placas base%'
group by c.ciudad, r.codigo, r.descripcion
order by c.cuidad
2.-
Código:
select c.razon_social, c.telefono, v.nombre, t.zona, sum(p.unidades * s.precio)
from pedidos p
     inner join clientes c on c.nif = p.nif_cli
     inner join vendedores v on v.codigo = p.cod_vend
     inner join centros t on t.codigo = v.cod_centro
     inner join productos s on s.codigo = p.cod_prod
where s.descripcion like '%impresora%'
group by c.razon_social, c.telefono, v.nombre, t.zona
having sum(p.unidades * s.precio) > 80
order by 5
3.-
Código:
select v.nombre, sum(p.unidades)
from vendedores v
     left outer join pedidos p on p.cod_vend = v.codigo
order by v.nombre
4.- Esta te la dejo a ti

PD: los resultados no han sido probados, así que no se garantiza el 100% de su funcionamiento
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


La franja horaria es GMT +2. Ahora son las 15:30:58.


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