Ejercicio Consultas Interseccion
Ejercicio Consultas Interseccion
Ejercicio Consultas Interseccion
mltiples condiciones
Ing. Edwin O. Ramos Velsquez
Universidad Nacional Jos Mara Arguedas
Carrera Profesional de Ingeniera de Sistemas
Andahuaylas Per
AND
C.Nro_Serie=D.Nro_Serie
AND
Consultas Intersectando
subconjuntos de datos
Conjunto 02
Pivot
Comparativo
1. Usando WHERE IN ()
Conjunto 01 (IDComun)
WHERE IDComun IN
Pivot
Conjunto 02 (IDComun)
Usar DISTINCT
Pivot
Conjunto 01 (IDComun) C1
INNER JOIN
Conjunto 01 C2 ON ( C1.IDComun = C2.IDComun)
Ing. Edwin Ramos Velsquez
Conjunto 02
Pivot
Comparativo
Pivot
Conjunto 01 (IDComun)
INTO
#TablaTemporal01
Conjunto 02 (IDComun)
INTO
#TablaTemporal02
Conjunto 02
Pivot
Comparativo
IDCliente
Modo 1:
Modo 2:
CONSULTAS EN
PROCEDIMIENTOS
ALMACENADOS
Ing. Edwin Ramos Velsquez
SET NO COUNT
Evita que se devuelva el mensaje que muestra el recuento del nmero de filas afectadas por una instruccin o un procedimiento
almacenado de Transact-SQL como parte del conjunto de resultados.
USE AdventureWorks2008R2;
GO
SET NOCOUNT OFF;
GO
-- Display the count message.
SELECT TOP(5)LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO
-- SET NOCOUNT to ON to no longer display the
-- count message.
SET NOCOUNT ON;
GO
SELECT TOP(5) LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO
-- Reset SET NOCOUNT to OFF
SET NOCOUNT OFF;
GO
En este ejemplo no se muestra el mensaje que indica el nmero de filas afectado.
DESACTIVA los
mensajes
10
INICIO
CREATE PROCEDURE
ListaDeNumerosPares
@N INT
AS
DESACTIVA los
BEGIN
mensajes
SET NOCOUNT ON
--------- Procesos preparatorios -----------------------DECLARE @k INT
CREATE TABLE #MyTabla(
Posicion INT,
Numero INT
)
Crear Tabla
#MyTabla
Insertar
Datos
CREAR tabla
temporal
INSERTA datos en la
SET @k = 1
tabla temporal
WHILE (@k <= @Numeros)
BEGIN
INSERT INTO #MyTabla (Posicion, Numero) VALUES (@k, @k * 2 )
SET @k = @k + 1
END
Usar Tabla
#MyTabla
Consultar
#MyTabla
ACTIVA los
mensajes
FIN
11
CREAR tabla
temporal
Crear Tabla
#MyTabla
Insertar
Datos
Usar Tabla
#MyTabla
INSERTA/MODIFICA
datos en la tabla
temporal
ACTIVA los
mensajes
Consultar
#MyTabla
END
FIN
12
EjemploManejoDeCursores
1. Declara Variables a usar
para leer desde el Cursor
2. Declara el Cursor
3. Apertura el Cursor
4. Mueve al Inicio
(1er Registro)
13
@IDAlumno INT
@Edad INT
@Nombre VARCHAR(20)
@Apellido VARCHAR(20)
14
UnidToStr(N:Integer ):String
INICIO
Z = N modulo 10
CASE
(Z)
Z=0
Z=1
S = ''
S = 'Uno'
Z=2
S = 'Dos'
Z=9
----
S = 'Nueve'
return S
DecimalToStr(N:Integer ):String
FIN
INICIO
R = N Modulo 10
Z = EnteroDe(N / 10)
IF
(R = 0)
SI
NO
CASE
(Z)
CASE
(Z)
Z=0
S =UnitToStr(N)
Z=1
S = 'diez'
Z=2
S = 'veinte'
----
Z=9
S = 'noventa'
Z=2
Z=1
N=1
1
--S = 'once'
CASE
(N)
Else
N=15
----
Z=9
S = 'veinti'+UnitToStr(N)
S = 'quince'
S = 'noventa y '+UnitToStr(N)
S = 'dieci' + UnitToStr(N)
return S
FIN
15
Conjunto1
Conjunto2
SET NOCOUNT ON
Consulta1 INTO #TablaTemporal1
WHERE Campo1 = @Parametro1
Consulta2
INTO TablaTemporal2
WHERE Campo1 = @Parametro2
ConsultaN
INTO #TablaTemporalN
Conjunto3
Conjunto4
16
17
Ejemplo 01
CREATE PROCEDURE
@Marca VARCHAR(10)
AS
BEGIN
Nombres
Producto
sp_Empleados_que_vendieron_articulos_de_marca
Venta
SET NOCOUNT ON
SELECT IDVenta, Apellidos, Nombres INTO #TablaTemporal1
FROM Empleado E
IDComun=IDVenta
INNER JOIN VENTA V ON (E.IDEmpleado = V.IDEmpleado)
Empleado
IDEmpleado
Marca
Articulo
DetalleVenta
IDMarca
IDArticulo
Empleados
Artculos vendidos
(T1.IDVenta=T2.IDVenta)
TablaTemporal2
IDVenta
END
Ing. Edwin Ramos Velsquez
18
Ejemplo 02
CREATE PROCEDURE
@Anyo INT
AS
BEGIN
Articulo
Cantidad
sp_Los _quince_articulos_mas_vendidos
Venta
SET NOCOUNT ON
SELECT TOP 15 IDArticulo, Total=SUM(Cantidad) INTO #TablaTemporal1
FROM Venta V
IDComun=IDArticulo INNER JOIN DetalleVenta D ON (V.IDVenta = D.IDVenta)
WHERE YEAR(Fecha) = @Anyo
GROUP BY IDArticulo
ORDER BY 2 DESC
DetalleVenta
IDVenta
Articulo
IDArticulo
IDComun=IDArticulo
Articulos
IDArtculos ms
vendidos
TablaTemporal2
IDArticulo
END
Ing. Edwin Ramos Velsquez
19
Ejemplo 03
RUC
Venta
IDVenta
DetalleVenta
Articulo
Marca
IDArticulo
IDMarca
Cliente
IDCliente
IDComun=IDCliente
IDArtculos ms
vendidos
Articulos
TablaTemporal1
TablaTemporal2
IDCliente
RETURN 0
END
20
CONTINE
LOS
DESARROLLANDO
DEMS
EJERCICIOS
21