Referencias cruzadas sql

Solo disponible en BuenasTareas
  • Páginas : 3 (632 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de mayo de 2010
Leer documento completo
Vista previa del texto
Una consulta de referencias cruzadas es aquella que nos permite visualizar los datos en filas y en columnas, estilo tabla, por ejemplo:
Si tenemos una tabla de productos y otra tabla de pedidos,podemos visualizar en total de productos pedidos por año para un artículo determinado, tal y como se visualiza en la tabla anterior. La sintaxis para este tipo de consulta es la siguiente:
TRANSFORMfunción agregada instrucción
select PIVOT campo pivot
[IN (valor1[, valor2[, ...]])]
En donde: función *agregada**: Es una función** SQL* agregada que opera sobre los datos seleccionados.*Instrucción *select: Es una instrucción SELECT.
*campo *pivot: Es el campo o expresión que desea utilizar para crear las cabeceras de la columna en el resultado de la consulta.
*valor1,*valor2: Son valores fijos utilizados para crear las cabeceras
de la columna.
Para resumir datos utilizando una consulta de referencia cruzada, se seleccionan los valores de los campos o expresionesespecificadas como cabeceras de columnas de tal forma que pueden verse los datos en un formato más compacto que con una consulta de selección.
*Un caso *práctico:
Se trata de resolver el siguienteproblema: tenemos una tabla de productos con dos campos, el código y el nombre del producto, tenemos otra tabla de pedidos en la que anotamos el código del producto, la fecha del pedido y la cantidadpedida. Deseamos consultar los totales de producto por año, calculando la media anual de ventas.
*Estructura *y datos de las tablas:
1. Artículos:
2. Pedidos:
Para resolver la consultaplanteamos la siguiente consulta:
TRANSFORM Sum(Pedidos.Cantidad) AS Resultado
SELECT Nombre AS Producto,
Pedidos.Id AS Código, Sum(Pedidos.Cantidad) AS TOTAL, Avg(Pedidos.Cantidad)
ASMedia FROM Pedidos INNER JOIN Artículos ON Pedidos.Id = Artículos.Id
GROUP BY Pedidos.Id, Artículos.Nombre PIVOT Year(Fecha);
y_ obtenemos el siguiente resultado: _
Comentarios a la consulta:...
tracking img