57 lines
1.8 KiB
Transact-SQL
57 lines
1.8 KiB
Transact-SQL
-- sql server sample sql
|
|
CREATE TABLE dbo.EmployeeSales
|
|
( DataSource varchar(20) NOT NULL,
|
|
BusinessEntityID varchar(11) NOT NULL,
|
|
LastName varchar(40) NOT NULL,
|
|
SalesDollars money NOT NULL
|
|
);
|
|
GO
|
|
CREATE PROCEDURE dbo.uspGetEmployeeSales
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SELECT 'PROCEDURE', sp.BusinessEntityID, c.LastName,
|
|
sp.SalesYTD
|
|
FROM Sales.SalesPerson AS sp
|
|
INNER JOIN Person.Person AS c
|
|
ON sp.BusinessEntityID = c.BusinessEntityID
|
|
WHERE sp.BusinessEntityID LIKE '2%'
|
|
ORDER BY sp.BusinessEntityID, c.LastName;
|
|
GO
|
|
--INSERT...SELECT example
|
|
INSERT INTO dbo.EmployeeSales
|
|
SELECT 'SELECT', sp.BusinessEntityID, c.LastName, sp.SalesYTD
|
|
FROM Sales.SalesPerson AS sp
|
|
INNER JOIN Person.Person AS c
|
|
ON sp.BusinessEntityID = c.BusinessEntityID
|
|
WHERE sp.BusinessEntityID LIKE '2%'
|
|
ORDER BY sp.BusinessEntityID, c.LastName;
|
|
GO
|
|
|
|
|
|
CREATE VIEW hiredate_view
|
|
AS
|
|
SELECT p.FirstName, p.LastName, e.BusinessEntityID, e.HireDate
|
|
FROM HumanResources.Employee e
|
|
JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID ;
|
|
GO
|
|
|
|
CREATE VIEW view1
|
|
AS
|
|
SELECT fis.CustomerKey, fis.ProductKey, fis.OrderDateKey,
|
|
fis.SalesTerritoryKey, dst.SalesTerritoryRegion
|
|
FROM FactInternetSales AS fis
|
|
LEFT OUTER JOIN DimSalesTerritory AS dst
|
|
ON (fis.SalesTerritoryKey=dst.SalesTerritoryKey);
|
|
|
|
GO
|
|
SELECT ROW_NUMBER() OVER(PARTITION BY PostalCode ORDER BY SalesYTD DESC) AS "Row Number",
|
|
p.LastName, s.SalesYTD, a.PostalCode
|
|
FROM Sales.SalesPerson AS s
|
|
INNER JOIN Person.Person AS p
|
|
ON s.BusinessEntityID = p.BusinessEntityID
|
|
INNER JOIN Person.Address AS a
|
|
ON a.AddressID = p.BusinessEntityID
|
|
WHERE TerritoryID IS NOT NULL
|
|
AND SalesYTD <> 0
|
|
ORDER BY PostalCode;
|