MySQL
1. Insertar un registro en la tabla Pedido_Producto, los datos pueden ser elegidos de forma
libre siempre y cuando tengan un criterio adecuado
2. Incrementar el precio en un 25% de todos los productos cuyo saldo sea menor a 500
unidades
3. Mostrar el ID del pedido, nombre completo del cliente (1 sola columna), fecha del pedido,
Nombre del Representante y de la Oficina sucursal donde se realizó dicho pedido. Ordenar
por Oficina Sucursal
4. Mostrar el nombre completo de los clientes (1 sola columna), su Crédito y la cantidad de
Pedidos realizados
5. Mostrar el nombre del producto, su stock actual, su cantidad total requerida en pedidos
hasta la fecha, y su Saldo Histórico. Ordenar por nombre del Producto e incluir a todos los
productos registrados en la Base de Datos
Se entiende por Saldo Histórico de cada producto a la suma de su stock actual + su cantidad
total requerida en pedidos hasta la fecha
-- Insertar un registro en la tabla Pedido_Producto, los datos pueden ser elegidos de forma libre
siempre y cuando tengan un criterio adecuado
SELECT * FROM pedido_producto;
INSERT INTO pedido_producto (idPedido, idProducto, cantidad, precioUnitario)
VALUES (1, 4, 80, 2.5);
-- Incrementar el precio en un 25% de todos los productos cuyo saldo sea menor a 500 unidades
SELECT * FROM producto;
UPDATE producto SET precioBase=1.25*precioBase
WHERE saldo<500;
-- Mostrar el ID del pedido, nombre completo del cliente (1 sola columna), fecha del pedido, Nombre
del Representante y de la Oficina sucursal donde se realizó dicho pedido.
-- Ordenar por Oficina Sucursal
SELECT [Link] AS ID, CONCAT([Link], ' ', IFNULL([Link],''),' ', [Link])
AS Cliente, [Link] AS 'Fecha del Pedido',
[Link] AS 'Atendido Por:', [Link] AS Sucursal
FROM pedido P
INNER JOIN cliente C ON [Link]=[Link]
INNER JOIN representante R ON [Link]=[Link]
INNER JOIN oficina O ON [Link]=[Link]
ORDER BY 5;
-- Mostrar el nombre completo de los clientes (1 sola columna), su Crédito y la cantidad de Pedidos
realizados
SELECT CONCAT([Link], ' ', IFNULL([Link],''),' ', [Link]) AS Cliente,
[Link] AS 'Crédito Bs.',
COUNT([Link]) AS 'Cantidad de Pedidos'
FROM cliente C
INNER JOIN pedido P ON [Link]=[Link]
GROUP BY CONCAT([Link], ' ', IFNULL([Link],''),' ', [Link]), [Link]
ORDER BY 1
SELECT [Link] AS Producto, [Link] AS 'Stock Actual', SUM([Link]) AS 'Total Requerido',
[Link] + SUM([Link]) AS 'Saldo Histórico'
FROM producto P
LEFT JOIN pedido_producto PP ON [Link]=[Link]
GROUP BY [Link], [Link]
ORDER BY 1
SQL Server
1. Insertar una registro en la Tabla Servicio. Los datos pueden ser elegidos de forma libre
siempre y cuando tengan un criterio adecuado
RESUELTO
2. Listar el Nombre del Grupo y el Nombre del Servicio que pertenece a dicho grupo. Ordenar
por Nombre del Grupo
SELECT [Link] AS 'Nombre del Grupo', [Link] AS Servicio
FROM grupo G
INNER JOIN subgrupo SG ON [Link]=[Link]
INNER JOIN cuenta C ON [Link]=[Link]
INNER JOIN servicio S ON [Link]=[Link]
ORDER BY 1
REPASO II
SQL Server:
1. Mostrar las Gestión (año) y el total Recaudado en dicha gestión de todas las facturas Válidas
registradas en la Base de Datos. Una factura es válida, si su estado es “V”. Ordenar por
gestión
SELECT YEAR(fecha) AS Gestión,
SUM(total) AS 'Total Recaudado Bs.'
FROM factura
WHERE estado='V'
GROUP BY YEAR(fecha)
ORDER BY 1
YEAR('2022-08-25') --> 2022
MONTH('2022-08-25') --> 8
DAY('2022-08-25') --> 25
2. Mostrar el ID, nombre del servicio y su total recaudado a la fecha. Incluir los servicios que
NO tuvieron movimiento. Ordenar por nombre de Servicio.
SELECT [Link] AS ID, [Link] AS Servicio,
ISNULL(SUM([Link]),0) AS 'Total Recaudado Bs.'
FROM servicio S
LEFT JOIN detalleFactura D ON [Link]=[Link]
GROUP BY [Link], [Link]
ORDER BY 2
ISNULL(VALOR, VALOR POR NULO) -- SQL SERVER
IFNULL(VALOR, VALOR POR NULO) -- MySQL
3. Mostrar el Nombre del Sub Grupo y la cantidad de Cuentas que tiene dicho Sub Grupo.
Ordenar por nombre del Sub Grupo.
SELECT [Link] AS 'Nombre Sub Grupo', COUNT([Link]) AS 'Cantidad de Cuentas'
FROM subgrupo S
LEFT JOIN cuenta C ON [Link]=[Link]
GROUP BY [Link]
ORDER BY 1