Está en la página 1de 15

ALUMNO : JULIO JESUS QUISPE SANTIVAÑEZ CODIGO: I202310653

Pregunta 01

1. Muestre los totales y subtotales de ventas realizadas por años.

SELECT YEAR (FechaPedido) AS Año, SUM(CantidaPedido) AS TotalVentas


FROM Ventas.pedidoscabe
GROUP BY YEAR (FechaPedido)
ORDER BY Año;
GO

2. Muestre el nombre del productor, nombre del proveedor del producto, precio por unidad
y stock del producto cuya categoría es código 2

SELECT P.NomProducto AS NombreProducto,


PR.NomProveedor AS NombreProveedor,
P.PrecioUnidad,
P.UnidadesEnExistencia
FROM Compras.productos AS P
INNER JOIN Compras.proveedores AS PR ON P.IdProveedor = PR.IdProveedor
WHERE P.IdCategoria = 2;
GO
3. Muestre los clientes que tienen pedidos y a la vez los que no tienen pedidos realizados,
debe mostrarse todas las filas y columnas.

SELECT C.*, PC.*


FROM Ventas.clientes AS C
LEFT JOIN Ventas.pedidoscabe AS PC ON C.IdCliente = PC.IdCliente;
GO
Pregunta 02

1. Se solicita nos muestre un reporte donde se visualice la cantidad de pedidos por año que
ha realizado un cliente y que vendedor lo realizo el pedido, así mismo se debe visualizar
los totales y subtotales de cada año.

SELECT YEAR(pc.FechaPedido) AS Año,


c.NomCliente AS NombreCliente,
e.NomEmpleado AS NombreVendedor,
COUNT(pc.IdPedido) AS CantidadPedidos
FROM Ventas.pedidoscabe pc
INNER JOIN Ventas.clientes c ON pc.IdCliente = c.IdCliente
LEFT JOIN RRHH.empleados e ON pc.IdEmpleado = e.IdEmpleado
GROUP BY YEAR(pc.FechaPedido), c.NomCliente, e.NomEmpleado
ORDER BY Año, NombreCliente, NombreVendedor;
GO

2. Se solicita conocer los datos del proveedor que nos suministra la “cerveza tibetana Barley”
y cuál es el precio por unidad de este producto.
SELECT p.NomProveedor AS NombreProveedor, pr.PrecioUnidad AS PrecioPorUnidad
FROM Compras.productos pr
INNER JOIN Compras.proveedores p ON pr.IdProveedor = p.IdProveedor
WHERE pr.NomProducto = 'cerveza tibetana Barley';
GO

3. Se solicita conocer cuáles son los trabajadores que tienen como cargo” ejecutivo de
ventas” y que viven en el distrito de Lima.

SELECT e.NomEmpleado AS NombreEmpleado, e.DirEmpleado AS Direccion, d.nomDistrito AS


Distrito
FROM RRHH.empleados e
INNER JOIN RRHH.Distritos d ON e.idDistrito = d.idDistrito
WHERE e.idCargo = (
SELECT idcargo
FROM RRHH.Cargos
WHERE desCargo = 'ejecutivo de ventas'
) AND d.nomDistrito = 'Lima';
BASE DE DATOS ENVIADA

USE Negocios
GO
/*****Object: Database [Negocios] Script Date: 29/10/2023 12:24:35 ******/
CREATE DATABASE Negocios
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Negocios', FILENAME = N'C:\Program Files\Microsoft SQL Server\
MSSQL12.MSSQLSERVER\MSSQL\DATA\Negocios.mdf' , SIZE = 3264KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 1024KB )
LOG ON
( NAME = N'Negocios_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\
MSSQL12.MSSQLSERVER\MSSQL\DATA\Negocios_log.ldf' , SIZE = 832KB , MAXSIZE = 2048GB ,
FILEGROWTH = 10%)
GO
ALTER DATABASE [Negocios] SET COMPATIBILITY_LEVEL = 120
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [Negocios].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [Negocios] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Negocios] SET ANSI_NULLS OFF
GO
ALTER DATABASE [Negocios] SET ANSI_PADDING OFF
GO
ALTER DATABASE [Negocios] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [Negocios] SET ARITHABORT OFF
GO
ALTER DATABASE [Negocios] SET AUTO_CLOSE ON
GO
ALTER DATABASE [Negocios] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [Negocios] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [Negocios] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [Negocios] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [Negocios] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [Negocios] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [Negocios] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [Negocios] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [Negocios] SET ENABLE_BROKER
GO
ALTER DATABASE [Negocios] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [Negocios] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [Negocios] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [Negocios] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [Negocios] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [Negocios] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [Negocios] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [Negocios] SET RECOVERY SIMPLE
GO
ALTER DATABASE [Negocios] SET MULTI_USER
GO
ALTER DATABASE [Negocios] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [Negocios] SET DB_CHAINING OFF
GO
ALTER DATABASE [Negocios] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [Negocios] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
ALTER DATABASE [Negocios] SET DELAYED_DURABILITY = DISABLED
GO
USE [Negocios]
GO
/****** Object: Schema [Compras] Script Date: 29/10/2023 12:24:35 ******/
CREATE SCHEMA [Compras]
GO
/****** Object: Schema [COPIA] Script Date: 29/10/2023 12:24:35 ******/
CREATE SCHEMA [COPIA]
GO
/****** Object: Schema [RRHH] Script Date: 29/10/2023 12:24:35 ******/
CREATE SCHEMA [RRHH]
GO
/****** Object: Schema [Ventas] Script Date: 29/10/2023 12:24:35 ******/
CREATE SCHEMA [Ventas]
GO
/****** Object: Table [Compras].[categorias] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Compras].[categorias](
[IdCategoria] [int] NOT NULL,
[NombreCategoria] [varchar](15) NOT NULL,
[Descripcion] [text] NULL,
PRIMARY KEY CLUSTERED
(
[IdCategoria] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO

/****** Object: Table [Compras].[productos] Script Date: 29/10/2023 12:24:35


******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Compras].[productos](
[IdProducto] [int] NOT NULL,
[NomProducto] [varchar](40) NOT NULL,
[IdProveedor] [int] NULL,
[IdCategoria] [int] NULL,
[CantxUnidad] [varchar](20) NOT NULL,
[PrecioUnidad] [decimal](10, 0) NOT NULL,
[UnidadesEnExistencia] [smallint] NOT NULL,
[UnidadesEnPedido] [smallint] NOT NULL,
PRIMARY KEY CLUSTERED
(
[IdProducto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO

/****** Object: Table [Compras].[proveedores] Script Date: 29/10/2023 12:24:35


******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Compras].[proveedores](
[IdProveedor] [int] NOT NULL,
[NomProveedor] [varchar](40) NOT NULL,
[DirProveedor] [varchar](60) NOT NULL,
[NomContacto] [varchar](80) NOT NULL,
[CargoContacto] [varchar](50) NOT NULL,
[idpais] [char](3) NULL,
[fonoProveedor] [varchar](15) NOT NULL,
[FaxProveedor] [varchar](15) NOT NULL,
PRIMARY KEY CLUSTERED
(
[IdProveedor] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [COPIA].[CATEGORIAS] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [COPIA].[CATEGORIAS](
[IdCategoria] [int] NOT NULL,
[NombreCategoria] [varchar](max) NULL,
PRIMARY KEY CLUSTERED
(
[IdCategoria] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Articulos] Script Date: 29/10/2023 12:24:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Articulos](
[IdProducto] [int] NOT NULL,
[NomProducto] [varchar](40) NOT NULL,
[IdProveedor] [int] NULL,
[IdCategoria] [int] NULL,
[CantxUnidad] [varchar](20) NOT NULL,
[PrecioUnidad] [decimal](10, 0) NOT NULL,
[UnidadesEnExistencia] [smallint] NOT NULL,
[UnidadesEnPedido] [smallint] NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Consumer] Script Date: 29/10/2023 12:24:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Consumer](
[id] [int] IDENTITY(1,1) NOT NULL,
[fullname] [varchar](50) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[distritosDup] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[distritosDup](
[idDistrito] [int] NOT NULL,
[nomDistrito] [varchar](50) NOT NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [RRHH].[Cargos] Script Date: 29/10/2023 12:24:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [RRHH].[Cargos](
[idcargo] [int] NOT NULL,
[desCargo] [varchar](30) NOT NULL,
PRIMARY KEY CLUSTERED
(
[idcargo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [RRHH].[Distritos] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [RRHH].[Distritos](
[idDistrito] [int] NOT NULL,
[nomDistrito] [varchar](50) NOT NULL,
PRIMARY KEY CLUSTERED
(
[idDistrito] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [RRHH].[empleados] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [RRHH].[empleados](
[IdEmpleado] [int] NOT NULL,
[ApeEmpleado] [varchar](50) NOT NULL,
[NomEmpleado] [varchar](50) NOT NULL,
[FecNac] [datetime] NOT NULL,
[DirEmpleado] [varchar](60) NOT NULL,
[idDistrito] [int] NULL,
[fonoEmpleado] [varchar](15) NULL,
[idCargo] [int] NULL,
[FecContrata] [datetime] NOT NULL,
PRIMARY KEY CLUSTERED
(
[IdEmpleado] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [Ventas].[clientes] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Ventas].[clientes](
[IdCliente] [varchar](5) NOT NULL,
[NomCliente] [varchar](40) NOT NULL,
[DirCliente] [varchar](60) NOT NULL,
[idpais] [char](3) NULL,
[fonoCliente] [varchar](25) NOT NULL,
PRIMARY KEY CLUSTERED
(
[IdCliente] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [Ventas].[paises] Script Date: 29/10/2023 12:24:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Ventas].[paises](
[Idpais] [char](3) NOT NULL,
[NombrePais] [varchar](40) NOT NULL,
PRIMARY KEY CLUSTERED
(
[Idpais] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [Ventas].[pedidoscabe] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [Ventas].[pedidoscabe](
[IdPedido] [int] NOT NULL,
[IdCliente] [varchar](5) NULL,
[IdEmpleado] [int] NULL,
[FechaPedido] [datetime] NOT NULL DEFAULT (getdate()),
[FechaEntrega] [datetime] NULL,
[FechaEnvio] [datetime] NULL,
[EnvioPedido] [char](1) NULL DEFAULT ('0'),
[CantidaPedido] [int] NULL,
[Destinatario] [varchar](40) NULL,
[DirDestinatario] [varchar](60) NULL,
[CiuDestinatario] [varchar](60) NULL,
[RefDestnatario] [varchar](60) NULL,
[DepDestinatario] [varchar](60) NULL,
[PaiDestinatario] [varchar](60) NULL,
PRIMARY KEY CLUSTERED
(
[IdPedido] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [Ventas].[pedidosdeta] Script Date: 29/10/2023 12:24:35
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Ventas].[pedidosdeta](
[IdPedido] [int] NULL,
[IdProducto] [int] NULL,
[PrecioUnidad] [decimal](10, 0) NOT NULL,
[Cantidad] [smallint] NOT NULL,
[Descuento] [float] NOT NULL
) ON [PRIMARY]

GO
ALTER TABLE [Compras].[productos] WITH CHECK ADD FOREIGN KEY([IdCategoria])
REFERENCES [Compras].[categorias] ([IdCategoria])
GO
ALTER TABLE [Compras].[productos] WITH CHECK ADD FOREIGN KEY([IdProveedor])
REFERENCES [Compras].[proveedores] ([IdProveedor])
GO
ALTER TABLE [Compras].[proveedores] WITH CHECK ADD FOREIGN KEY([idpais])
REFERENCES [Ventas].[paises] ([Idpais])
GO
ALTER TABLE [RRHH].[empleados] WITH CHECK ADD FOREIGN KEY([idCargo])
REFERENCES [RRHH].[Cargos] ([idcargo])
GO
ALTER TABLE [RRHH].[empleados] WITH CHECK ADD FOREIGN KEY([idDistrito])
REFERENCES [RRHH].[Distritos] ([idDistrito])
GO
ALTER TABLE [Ventas].[clientes] WITH NOCHECK ADD FOREIGN KEY([idpais])
REFERENCES [Ventas].[paises] ([Idpais])
GO
ALTER TABLE [Ventas].[pedidoscabe] WITH CHECK ADD FOREIGN KEY([IdCliente])
REFERENCES [Ventas].[clientes] ([IdCliente])
GO
ALTER TABLE [Ventas].[pedidoscabe] WITH CHECK ADD FOREIGN KEY([IdEmpleado])
REFERENCES [RRHH].[empleados] ([IdEmpleado])
GO
ALTER TABLE [Ventas].[pedidosdeta] WITH CHECK ADD FOREIGN KEY([IdPedido])
REFERENCES [Ventas].[pedidoscabe] ([IdPedido])
GO
ALTER TABLE [Ventas].[pedidosdeta] WITH CHECK ADD FOREIGN KEY([IdProducto])
REFERENCES [Compras].[productos] ([IdProducto])
GO
USE [master]
GO
ALTER DATABASE [Negocios] SET READ_WRITE
GO
--PREGUNTA 1
--1.-
SELECT YEAR (FechaPedido) AS Año, SUM(CantidaPedido) AS TotalVentas
FROM Ventas.pedidoscabe
GROUP BY YEAR (FechaPedido)
ORDER BY Año;
GO
--2.-
SELECT P.NomProducto AS NombreProducto,
PR.NomProveedor AS NombreProveedor,
P.PrecioUnidad,
P.UnidadesEnExistencia
FROM Compras.productos AS P
INNER JOIN Compras.proveedores AS PR ON P.IdProveedor = PR.IdProveedor
WHERE P.IdCategoria = 2;
GO
--3.-
SELECT C.*, PC.*
FROM Ventas.clientes AS C
LEFT JOIN Ventas.pedidoscabe AS PC ON C.IdCliente = PC.IdCliente;
GO

--PREGUNTA 2
--1.-
SELECT YEAR(pc.FechaPedido) AS Año,
c.NomCliente AS NombreCliente,
e.NomEmpleado AS NombreVendedor,
COUNT(pc.IdPedido) AS CantidadPedidos
FROM Ventas.pedidoscabe pc
INNER JOIN Ventas.clientes c ON pc.IdCliente = c.IdCliente
LEFT JOIN RRHH.empleados e ON pc.IdEmpleado = e.IdEmpleado
GROUP BY YEAR(pc.FechaPedido), c.NomCliente, e.NomEmpleado
ORDER BY Año, NombreCliente, NombreVendedor;
GO

--2.-
SELECT p.NomProveedor AS NombreProveedor, pr.PrecioUnidad AS PrecioPorUnidad
FROM Compras.productos pr
INNER JOIN Compras.proveedores p ON pr.IdProveedor = p.IdProveedor
WHERE pr.NomProducto = 'cerveza tibetana Barley';
GO

--3.-
SELECT e.NomEmpleado AS NombreEmpleado, e.DirEmpleado AS Direccion, d.nomDistrito AS
Distrito
FROM RRHH.empleados e
INNER JOIN RRHH.Distritos d ON e.idDistrito = d.idDistrito
WHERE e.idCargo = (
SELECT idcargo
FROM RRHH.Cargos
WHERE desCargo = 'ejecutivo de ventas'
) AND d.nomDistrito = 'Lima';

También podría gustarte