0% encontró este documento útil (0 votos)
3 vistas3 páginas

Consultas SQL Server 2000: Práctica 7

El documento describe una práctica sobre el uso del diseñador de consultas de SQL Server 2000, enfocándose en la importación de tablas de una base de datos y la creación de diversas consultas y vistas. Se incluyen instrucciones para realizar consultas específicas que calculan importes de pedidos, promedios de descuentos y resúmenes de pedidos para el año 1996. Además, se detallan la creación de tablas para almacenar resultados de las consultas realizadas.

Cargado por

h4l40gczdz
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas3 páginas

Consultas SQL Server 2000: Práctica 7

El documento describe una práctica sobre el uso del diseñador de consultas de SQL Server 2000, enfocándose en la importación de tablas de una base de datos y la creación de diversas consultas y vistas. Se incluyen instrucciones para realizar consultas específicas que calculan importes de pedidos, promedios de descuentos y resúmenes de pedidos para el año 1996. Además, se detallan la creación de tablas para almacenar resultados de las consultas realizadas.

Cargado por

h4l40gczdz
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

PRACTICA 7.

EL DISEÑADOR DE CONSULTAS DE SQL SERVER 2000

LEE LOS TEMAS 11, 12, 13, 14, 15 y 16 DE TU LIBRO DE TEXTO, REALIZA LAS
PRÁCTICAS QUE EN ÉL SE ESPECIFICAN Y POSTERIORMENTE REALIZA ESTAS
OTRAS PARA AMPLIAR TUS CONOCIMIENTOS:

Utilizando el administrador corporativo, importa todas las tablas de la base de datos


[Link] en una nueva base de datos NEPTUNO_PR_7

Establece las relaciones de las tablas de [Link] en las tablas de


NEPTUNO_PR_7

Realiza las siguientes consultas en NEPTUNO_PR_7. Guárdalas como vistas con el


nombre C1, C2 ... C7

C1: Debe mostrar NombreCompañía, Año, Mes, ImportePedidos de todos los clientes.
Los importes de los pedidos se sumarán para cada cliente, año y mes y se calculará
teniendo en cuenta el descuento aplicado en cada linea de detalles de pedido.

SELECT [Link]ñía, YEAR([Link]) AS Año,


MONTH([Link]) AS Mes,
SUM((dbo.[Detalles de pedidos].PrecioUnidad * dbo.[Detalles de
pedidos].Cantidad) * (1 - dbo.[Detalles de pedidos].Descuento))
AS ImportePedidos
FROM [Link] INNER JOIN
[Link] ON [Link] = [Link] INNER JOIN
dbo.[Detalles de pedidos] ON [Link] = dbo.[Detalles de
pedidos].IdPedido
GROUP BY [Link]ñía, YEAR([Link]),
MONTH([Link]), [Link]

C2: Debe mostrar NombreCompañía, Año, Mes, ImportePedidos de todos los clientes.
Los importes de los pedidos se sumarán para cada cliente, año y mes y se calculará
teniendo en cuenta el descuento aplicado en cada linea de detalles de pedido. Sólo se
mostrará un intervalo de años (desde a1 hasta a2) que se definirán como parámetros de
la consulta.

SELECT [Link]ñía, YEAR([Link]) AS Año,


MONTH([Link]) AS Mes,
SUM((dbo.[Detalles de pedidos].PrecioUnidad * dbo.[Detalles de
pedidos].Cantidad) * (1 - dbo.[Detalles de pedidos].Descuento))
AS ImportePedidos
FROM [Link] INNER JOIN
[Link] ON [Link] = [Link] INNER JOIN
dbo.[Detalles de pedidos] ON [Link] = dbo.[Detalles de
pedidos].IdPedido
GROUP BY [Link]ñía, YEAR([Link]),
MONTH([Link]), [Link]

 No se pueden poner parámetros a no ser que generemos un procedimiento almacenado y


ahí copiáramos este código.
C3: Debe mostrar NombreCompañía , PromedioTantoPorCientoDto de todos los clientes.
PromedioTantoPorCientoDto será el promedio de todos los porcentajes de descuento
aplicados al cliente en todos los pedidos realizados. Deberán aparecer primero los
clientes con mayor PromedioTantoPorCientoDto

SELECT TOP 100 PERCENT [Link], AVG(dbo.[Detalles de


pedidos].Descuento) AS PromedioTantoPorCientoDto
FROM [Link] INNER JOIN
[Link] ON [Link] = [Link] INNER JOIN
dbo.[Detalles de pedidos] ON [Link] = dbo.[Detalles de
pedidos].IdPedido
GROUP BY [Link]
ORDER BY AVG(dbo.[Detalles de pedidos].Descuento) DESC

C4: Debe mostrar NombreCompañía , Año, Mes, ImportePedidos de todos los clientes.
Los importes de los pedidos se sumarán para cada cliente, año y mes y se calculará
teniendo en cuenta el descuento aplicado en cada linea de detalles de pedido. Sólo
deben aparecer los meses cuyos números tengamos en una tabla llamada MESES que
deberéis crear antes de ejecutar esta consulta.

SELECT [Link]ñía, YEAR([Link]) AS Año,


MONTH([Link]) AS Mes,
SUM((dbo.[Detalles de pedidos].PrecioUnidad * dbo.[Detalles de
pedidos].Cantidad) * (1 - dbo.[Detalles de pedidos].Descuento))
AS ImportePedidos
FROM [Link] INNER JOIN
[Link] ON [Link] = [Link] INNER JOIN
dbo.[Detalles de pedidos] ON [Link] = dbo.[Detalles de
pedidos].IdPedido
GROUP BY [Link]ñía, MONTH([Link]),
YEAR([Link]), [Link]
HAVING (MONTH([Link]) IN
(SELECT IdMes
FROM Meses))

C5: Debe mostrar IdProducto, NombreProducto, Nº de Pedidos, ImporteSinDto,


ImporteDto de todos los productos pedidos el año 1996 más de tres veces, ordenados
por Nº de pedidos de mayor a menor.

SELECT [Link], [Link], COUNT(dbo.[Detalles


de pedidos].IdPedido) AS NºPedido,
([Link] * dbo.[Detalles de pedidos].Cantidad) * (1 - dbo.
[Detalles de pedidos].Descuento) AS ImporteDescuento,
[Link] * dbo.[Detalles de pedidos].Cantidad AS
ImporteSinDescuento, YEAR([Link]) AS Año
FROM [Link] INNER JOIN
dbo.[Detalles de pedidos] ON [Link] = dbo.[Detalles de
pedidos].IdProducto INNER JOIN
[Link] ON dbo.[Detalles de pedidos].IdPedido = [Link]
GROUP BY [Link], [Link],
([Link] * dbo.[Detalles de pedidos].Cantidad)
* (1 - dbo.[Detalles de pedidos].Descuento), [Link] * dbo.
[Detalles de pedidos].Cantidad, YEAR([Link])
HAVING (YEAR([Link]) = 1996)
Realiza las siguientes operaciones en NEPTUNO_PR_7.

C6: Crea una tabla llamada RESUMEN_PEDIDOS_CLIENTES_96 con el IdCliente,


NombreCompañía , Año, ImportePedidos correspondientes al importe total de todos los
pedidos de cada cliente correspondientes a 1996. En el cálculo del importe de los
pedidos se tendrá en cuenta el descuento.

SELECT [Link], [Link]ñía, YEAR([Link]) AS


Año,
SUM(([Detalles de pedidos].PrecioUnidad * [Detalles de pedidos].Cantidad) * (1 -
[Detalles de pedidos].Descuento)) AS ImporteTotal
INTO RESUMEN_PEDIDOS_CLIENTES_96
FROM Clientes INNER JOIN
Pedidos ON [Link] = [Link] INNER JOIN
[Detalles de pedidos] ON [Link] = [Detalles de pedidos].IdPedido
GROUP BY [Link], [Link]ñía, YEAR([Link])
HAVING (YEAR([Link]) = 1996)

C7: Crea una tabla llamada RESUMEN_PEDIDOS_AÑO_96 con el Año, ImportePedidos,


ImportePedidosConDescuento correspondientes al importe total de todos los pedidos
del año 1996.

SELECT YEAR([Link]) AS Año, SUM([Detalles de pedidos].PrecioUnidad *


[Detalles de pedidos].Cantidad) AS ImportePedidos,
SUM(([Detalles de pedidos].PrecioUnidad * [Detalles de pedidos].Cantidad) * (1 -
[Detalles de pedidos].Descuento))
AS ImportePedidosConDescuento
INTO RESUMEN_PEDIDOS_AÑO_96
FROM Clientes INNER JOIN
Pedidos ON [Link] = [Link] INNER JOIN
[Detalles de pedidos] ON [Link] = [Detalles de pedidos].IdPedido
GROUP BY YEAR([Link])
HAVING (YEAR([Link]) = 1996)

C8: Crea una tabla llamada CLIENTES_Y_PROVEEDORES con los Códigos y Nombres de
todos los clientes y proveedores

SELECT IdCliente, [Link] UNION SELECT CONVERT(char,IdProveedor),


[Link]
INTO CLIENTES_Y_PROVEEDORES
FROM Clientes, Proveedores

También podría gustarte