Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Задача 1
- --Да се изведе списък с номерата на поръчките направени на 1-ви октомври 2011 г., както и имената на продуктите в тях.
- select soh.SalesOrderNumber as [Order Number] , p.Name as [Product Name]
- from Sales.SalesOrderHeader soh join Sales.SalesOrderDetail sod on soh.SalesOrderID = sod.SalesOrderID
- join Production.Product p on p.ProductID=sod.ProductID
- where soh.OrderDate='2011-10-01'
- --Задача 2
- --Да се изведе списък с номерата на поръчките направени на 1-ви октомври 2011 г.,
- --както и бройката на поръчаните продукти във всяка от тях.
- select soh.SalesOrderNumber as [Order Number] ,count(p.ProductID) as [Count of products]
- from Sales.SalesOrderHeader soh join Sales.SalesOrderDetail sod on soh.SalesOrderID = sod.SalesOrderID
- join Production.Product p on p.ProductID=sod.ProductID
- where soh.OrderDate='2011-10-01'
- group by soh.SalesOrderNumber
- --Задача 3
- --Да се изведе списък с номерата на поръчките направени на 1-ви октомври 2011 г., с които са поръчани
- --между 3 и 9 на брой продукта, както и бройката на поръчаните продукти във всяка от тях.
- select soh.SalesOrderNumber as [Order Number] ,count(p.ProductID) as [Count of products]
- from Sales.SalesOrderHeader soh join Sales.SalesOrderDetail sod on soh.SalesOrderID = sod.SalesOrderID
- join Production.Product p on p.ProductID=sod.ProductID
- where soh.OrderDate='2011-10-01'
- group by soh.SalesOrderNumber
- having count(p.ProductID) between 3 and 9
- --Задача 4
- --Да се напише заявка, която на база данните в колонката SalesOrderNumber да показва какъв
- --би бил номерът на следващата въведена поръчка. Има ли по-подходящ начин за да се изведе същата информация?
- --N'SO'+CONVERT([nvarchar](23),[SalesOrderID])
- --Задача 5
- --Да се напише заявка, която връща имената на клиентите, направили поръчки преди 30.09.2012 г. и след 30.06.2013 г.
- select CONCAT_WS(pe.FirstName,' '+pe.MiddleName,' '+pe.LastName) as [Cusstomer Full Name]
- from Sales.SalesOrderHeader soh join Sales.Customer c on soh.CustomerID=c.CustomerID
- join Person.Person pe on pe.BusinessEntityID=c.PersonID
- where soh.OrderDate not between '2012-09-30' and '2013-06-30'
- --Задача 6
- --Да се изведе списък с номерата и датите на поръчките направени от Aaron Con, техния номер по ред,
- --като за всяка от тях се покажат и номера и датата на предходната и следващата му поръчки.
- select soh.SalesOrderNumber , soh.OrderDate ,
- soh.rowguid ,
- lag(soh.SalesOrderNumber,1,NULL) over (order by soh.OrderDate) as [Previous Order Number],
- lag(soh.OrderDate,1,NULL) over (order by soh.OrderDate) as [Previous Order Date],
- lead(soh.SalesOrderNumber,1,NULL) over (order by soh.OrderDate) as [Next Order Number],
- lead(soh.OrderDate,1,NULL) over (order by soh.OrderDate) as [Next Order Date]
- from Sales.SalesOrderHeader soh join Sales.Customer c on soh.CustomerID=c.CustomerID
- join Person.Person pe on pe.BusinessEntityID=c.PersonID
- where CONCAT(pe.FirstName,' '+pe.LastName)='Aaron Con'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement