Пример перекрестного запроса MS SQL
USE [dbName1]
GO
/****** Object: StoredProcedure [dbo].[Справка] Script Date: 08/01/2011 15:49:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Справка]
AS
SELECT *
FROM (
SELECT Table1.Приоритет, Продукт, Артикул, Наименование, Вид, Заказ, Куплено, Продано
FROM dbo.Table1 INNER JOIN
dbo.Table2 ON dbo.Table1.Модель = dbo.Table2.Продукт INNER JOIN
dbo.Table3 ON dbo.Table2.Код = dbo.Table3.Код INNER JOIN
dbo.Table5 ON dbo.Table3.Код = dbo.Table5.Код AND dbo.Table3.Покупатель = dbo.Table5.Клиент INNER JOIN
dbo.Table4 ON dbo.Table5.Адрес = dbo.Table4.Адрес
) old
pivot (count(Вид) FOR Вид IN ([провода],[клеммы],[конденсаторы],[изоляция],[светодиоды],[прочее])
) AS new
ORDER BY Приоритет
Комментариев нет:
Отправить комментарий