Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Me ayudais con 3 simples consultas?

Estas en el tema de Me ayudais con 3 simples consultas? en el foro de Bases de Datos General en Foros del Web. El martes tengo una entrevista de trabajo, y tengo que llevar un cuestionario que me han dado. Hay una pregunta que sobre SQL y hace ...
  #1 (permalink)  
Antiguo 30/05/2004, 15:05
Avatar de Devil Akuma  
Fecha de Ingreso: mayo-2004
Mensajes: 104
Antigüedad: 20 años, 6 meses
Puntos: 0
Me ayudais con 3 simples consultas?

El martes tengo una entrevista de trabajo, y tengo que llevar un cuestionario que me han dado. Hay una pregunta que sobre SQL y hace 2 años que lo hice en la universidad, así que lo tengo flojillo. ¿Algún espabilao que me eche un cable?

PEDIDO
num_pedido (PK)
fecha
codigo_cliente

LINEA_PEDIDO
Num_pedido (PK)
numero_linea (PK)
Cod_articulo
Cantidad_servida
Precio_unitario

CLIENTE
Codigo_cliente
Nombre
Zona


1- Listado de unidades vendidas por zona. El listado debe indicar la zona, articulo, total unidades vendidas ( de este artículo en esta zona), valor de venta. El listado debe salir ordenado por zona y dentro de cada zona por importe de forma descendente.

2-Total ventas en importe por cliente ( Indicar cliente y total importe). Ordenado de forma descendente por importe.

Muchas gracias!
__________________
CINeol has you...
  #2 (permalink)  
Antiguo 01/06/2004, 05:08
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 9 meses
Puntos: 8
Ahí te van las consultas...

La primera puede llegar a dar resultados erróneos porque el código de cliente no es PK en la tabla cliente ni FK en pedido... La segunda es más sencilla salvo que quieras mostrar el nombre del cliente. Puede dar problemas si hay códigos de cliente duplicados... Las tablas no están muy bien diseñadas...

1.- SELECT cliente.zona, linea_pedido.cod_articulo, sum(linea_pedido.cantidad_servida) AS cantidades, sum(linea_pedido.cantidad_servida*linea_pedido.pre cio_unitario) AS totales
FROM cliente, linea_pedido, pedido
WHERE pedido.num_pedido=linea_pedido.num_pedido AND pedido.codigo_cliente=cliente.codigo_cliente
GROUP BY cliente.zona, linea_pedido.cod_articulo ORDER BY 1 ASC, 4 DESC

2.- SELECT cliente.codigo_cliente, sum(linea_pedido.cantidad_servida*linea_pedido.pre cio_unitario) FROM cliente,linea_pedido,pedido WHERE cliente.codigo_cliente=pedido.codigo_cliente AND pedido.num_pedido=linea_pedido.num_pedido GROUP BY cliente.codigo_cliente ORDER BY 2 DESC

Saludos
__________________
Kelpie
  #3 (permalink)  
Antiguo 01/06/2004, 11:53
Avatar de Devil Akuma  
Fecha de Ingreso: mayo-2004
Mensajes: 104
Antigüedad: 20 años, 6 meses
Puntos: 0
Muchas gracias!
__________________
CINeol has you...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:15.