You are on page 1of 5

--TASK 3

--Exercise 1

SELECT P.[Name] as ProductName

,P.[ListPrice]

,E.[Name] as ProductSubcategory

,T.[Name] as ProductCategory

FROM [AdventureWorks2019].[Production].[Product] as P

INNER JOIN [AdventureWorks2019].[Production].[ProductSubcategory] AS E

ON P.[ProductSubcategoryID] = E.[ProductSubcategoryID]

INNER JOIN [AdventureWorks2019].[Production].[ProductCategory] AS T

ON E.[ProductCategoryID] = T.[ProductCategoryID]

--Exercise 2

SELECT P.[Name] as ProductName

,P.[ListPrice]

,E.[Name] as ProductSubcategory

,T.[Name] as ProductCategory

,"Price Rank" = rank() over(order by P.[ListPrice] desc)

FROM [AdventureWorks2019].[Production].[Product] as P

INNER JOIN [AdventureWorks2019].[Production].[ProductSubcategory] AS E

ON P.[ProductSubcategoryID] = E.[ProductSubcategoryID]

INNER JOIN [AdventureWorks2019].[Production].[ProductCategory] AS T

ON E.[ProductCategoryID] = T.[ProductCategoryID]

--Exercise 3

SELECT P.[Name] as ProductName

,P.[ListPrice]

,E.[Name] as ProductSubcategory

,T.[Name] as ProductCategory
,"Category Price Rank"= dense_rank() over(partition by T.[Name] order by P.[ListPrice] desc)

FROM [AdventureWorks2019].[Production].[Product] as P

INNER JOIN [AdventureWorks2019].[Production].[ProductSubcategory] AS E

ON P.[ProductSubcategoryID] = E.[ProductSubcategoryID]

INNER JOIN [AdventureWorks2019].[Production].[ProductCategory] AS T

ON E.[ProductCategoryID] = T.[ProductCategoryID]

--Exercise 4

SELECT ProductName

,listprice

,ProductSubcategory

,ProductCategory

,CategoryPriceRank

,CASE

WHEN CategoryPriceRank < 5 THEN 'YES'

WHEN CategoryPriceRank = 5 THEN 'YES'

WHEN CategoryPriceRank > 5 THEN 'NO'

END AS "Top 5 Price In Category"

FROM(

SELECT P.[Name] as ProductName

,P.[ListPrice] as listprice

,E.[Name] as ProductSubcategory

,T.[Name] as ProductCategory

,CategoryPriceRank= dense_rank() over(partition by T.[Name] order by P.[ListPrice] desc)

FROM [AdventureWorks2019].[Production].[Product] as P

INNER JOIN [AdventureWorks2019].[Production].[ProductSubcategory] AS E

ON P.[ProductSubcategoryID] = E.[ProductSubcategoryID]

INNER JOIN [AdventureWorks2019].[Production].[ProductCategory] AS T


ON E.[ProductCategoryID] = T.[ProductCategoryID])t

--TASK 4

--Exercise 1

SELECT [PurchaseOrderID]

,[VendorID]

,[OrderDate]

,[TaxAmt]

,[Freight]

,[TotalDue]

,Ranking

FROM(

SELECT [PurchaseOrderID]

,[VendorID]

,[OrderDate]

,[TaxAmt]

,[Freight]

,[TotalDue]

,Ranking=row_number() over(partition by VendorID order by TotalDue desc)

FROM [AdventureWorks2019].[Purchasing].[PurchaseOrderHeader])t

WHERE Ranking <= 3

--Exercise 2
SELECT [PurchaseOrderID]

,[VendorID]

,[OrderDate]

,[TaxAmt]

,[Freight]

,[TotalDue]

,Ranking

FROM(

SELECT [PurchaseOrderID]

,[VendorID]

,[OrderDate]

,[TaxAmt]

,[Freight]

,[TotalDue]

,Ranking=dense_rank() over(partition by VendorID order by TotalDue desc)

FROM [AdventureWorks2019].[Purchasing].[PurchaseOrderHeader])t

WHERE Ranking <= 3

--TASK 7

--Exercise 1

SELECT H.[PurchaseOrderID]

,H.[OrderDate]

,H.[SubTotal]

,H.[TaxAmt]

FROM [AdventureWorks2019].[Purchasing].[PurchaseOrderHeader] as H

INNER JOIN [AdventureWorks2019].[Purchasing].[PurchaseOrderDetail] as D

ON H.[PurchaseOrderID] = D.[PurchaseOrderID]

WHERE D.[OrderQty] > 500


ORDER BY H.[PurchaseOrderID]

--Exercise 2

SELECT H.*

FROM [AdventureWorks2019].[Purchasing].[PurchaseOrderHeader] as H

INNER JOIN [AdventureWorks2019].[Purchasing].[PurchaseOrderDetail] as D

ON H.[PurchaseOrderID] = D.[PurchaseOrderID]

WHERE D.[OrderQty] > 500 AND D.[UnitPrice] > 50

ORDER BY H.[PurchaseOrderID]

--Exercise 3

You might also like