Създаване на кръстосани заявки
| Информационни технологии | 2009-12-04 | 100 сваляния |
2
Създаване на кръстосани заявки
Кръстосаните заявки (Crosstab queries) връщат табличен резултатен набор, който показва как стойностите, показани в колоните, зависят от стойностите, показани в редовете. Разликата между резултата, върнат от една кръстосана заявка и резултатния набор на една обикновена заявка е, че конкретни стойности на колони се използват за заглавия на колоните. Кръстосаната заявка се състои от заглавия на редове (Row Heading), заглавия на колони (Column Heading) и стойности (Value). В проектен режим определянето на заявката като кръстосана се осъществява чрез командата от менюто Query | Crosstab Query. Например:
1) Заявка, която връща продадените количества на продуктите по години във вида:
ProductID ProductName 2002г. 2003г. 2004г.
1 SomeName 150000 100000 180000
Реализира се по следния начин:
TRANSFORM Sum(sd.Quantity) AS SumOfQuantity
SELECT p.ProductID, p.ProductName
FROM Sales s
INNER JOIN (Products p
INNER JOIN SaleDetails sd
ON p.ProductID = sd.ProductID)
ON s.SaleID = sd.SaleID
GROUP BY p.ProductID, p.ProductName
PIVOT DatePart("yyyy", s.SaleDate);

2) Кръстосана заявка, която показва продадените количества на продуктите по дни от седмицата за миналата седмица:
TRANSFORM SUM(sd.Quantity) AS SumOfQuantity
SELECT p.ProductID, p.ProductName
FROM Sales s
INNER JOIN (Products p
INNER JOIN SaleDetails sd
ON p.ProductID = sd.ProductID)
ON s.SaleID = sd.SaleID
WHERE DATEDIFF("ww", s.SaleDate, Date()) = 1
GROUP BY p.ProductID, p.ProductName
PIVOT IIF(DatePart("w", s.SaleDate)=1,"Неделя",
IIF(DatePart("w", s.SaleDate)=2,"Понеделник",
Тагове от реферата: съзне, Кръстосани











