none
Ayuda Consulta -base de datos Northwind RRS feed

  • Pregunta

  • hola tengo un ejercicio de la base de datos Northwind, que no puedo sacar porque no entiendo muy bien la logica.

    si alguien me podria ayudar a entender este ejercicio..... gracias...

    " Se desea hacer un análisis de órdenes enviadas a los clientes, en concreto los de Sao Paulo, Londres, Anchorage y Lisboa. La consulta debe agrupar por nombre de ciudad y mostrar lo siguiente: 1. Nombre de ciudad 2. Número de órdenes emitidas 3. Número de clientes (NO REPETIDOS) ubicados en esa ciudad 4. Número de órdenes 5. Importe recaudado"

    domingo, 10 de febrero de 2019 8:01

Respuestas

  • Hola Jessica Dorame:

    Se desea hacer un análisis de órdenes enviadas a los clientes, en concreto los de Sao Paulo, Londres,

    Lo primero que te pide es relacionar Customers con Orders, relación natural

    Inner join Customers.Customer_Id = Orders.Customer_Id

    y en el Where filtrar por las ciudades. Ojo que en el enunciado esta Londres, pero en la base al menos que yo dispongo aparece como London. Yo devolvería where customers.City in ('Londres',....)

    La consulta debe agrupar por nombre de ciudad y mostrar lo siguiente:

    Select c.city,.....

    group by c.city;

    Número de órdenes emitidas

    Count(orders.order_id)

    https://docs.microsoft.com/es-es/sql/t-sql/functions/count-transact-sql?view=sql-server-2017

    Los argumentos de count son ALL -- DISTINCT -- EXPRESSION

    Número de clientes (NO REPETIDOS) ubicados en esa ciudad

    Por tanto el número de clientes no repetidos, puede ser un DISTINCT O.CUSTOMER_ID

    Número de órdenes

    Este parece de ordenes completas. Puedes aplicar una subconsulta sobre la tabla y devolverlo como una columna, por ejemplo. O cualquier otra técnica, que conozcas para que te devuelva el total de ordenes.

    Y por ultimo

    Importe recaudado

    Yo diría que te esta pidiendo utilizar la función de agrupación sum.

    https://docs.microsoft.com/es-es/sql/t-sql/functions/sum-transact-sql?view=sql-server-2017

    Supongo que la mejor manera de hacer este ejercicio, es hacer cada uno por separado en una select, y luego juntarlos.

    Espero te sirva

    • Marcado como respuesta Jessica Dorame domingo, 10 de febrero de 2019 17:19
    domingo, 10 de febrero de 2019 9:06

Todas las respuestas

  • Hola Jessica Dorame:

    Se desea hacer un análisis de órdenes enviadas a los clientes, en concreto los de Sao Paulo, Londres,

    Lo primero que te pide es relacionar Customers con Orders, relación natural

    Inner join Customers.Customer_Id = Orders.Customer_Id

    y en el Where filtrar por las ciudades. Ojo que en el enunciado esta Londres, pero en la base al menos que yo dispongo aparece como London. Yo devolvería where customers.City in ('Londres',....)

    La consulta debe agrupar por nombre de ciudad y mostrar lo siguiente:

    Select c.city,.....

    group by c.city;

    Número de órdenes emitidas

    Count(orders.order_id)

    https://docs.microsoft.com/es-es/sql/t-sql/functions/count-transact-sql?view=sql-server-2017

    Los argumentos de count son ALL -- DISTINCT -- EXPRESSION

    Número de clientes (NO REPETIDOS) ubicados en esa ciudad

    Por tanto el número de clientes no repetidos, puede ser un DISTINCT O.CUSTOMER_ID

    Número de órdenes

    Este parece de ordenes completas. Puedes aplicar una subconsulta sobre la tabla y devolverlo como una columna, por ejemplo. O cualquier otra técnica, que conozcas para que te devuelva el total de ordenes.

    Y por ultimo

    Importe recaudado

    Yo diría que te esta pidiendo utilizar la función de agrupación sum.

    https://docs.microsoft.com/es-es/sql/t-sql/functions/sum-transact-sql?view=sql-server-2017

    Supongo que la mejor manera de hacer este ejercicio, es hacer cada uno por separado en una select, y luego juntarlos.

    Espero te sirva

    • Marcado como respuesta Jessica Dorame domingo, 10 de febrero de 2019 17:19
    domingo, 10 de febrero de 2019 9:06
  • Perfecto! Mejor respuesta no pude tener. Gracias Javi Fernandez!....
    domingo, 10 de febrero de 2019 17:19
  • De nada. Un placer
    domingo, 10 de febrero de 2019 17:25