销售和营销方案

与客户和销售相关的信息是 AdventureWorks 示例数据库的重要组成部分。本主题详细介绍示例数据库中的客户、主要客户和销售表的架构以及用于说明表关系的查询示例。

客户类型

作为自行车生产公司,Adventure Works Cycles 拥有两种客户:

  • 个人。即,从 Adventure Works Cycles 在线商店购买产品的消费者。
  • 商店。即,从 Adventure Works Cycles 销售代表处购买产品后进行转售的零售店或批发店。

每位客户在 Customer 表中都有一条记录。CustomerType 列指示客户是个人消费者 (CustomerType= 'I') 还是商店 (CustomerType= 'S')。这些客户类型所特有的数据分别在 Individual 表和 Store 表中进行维护。

客户类型 主要表 客户数量 其他信息

个人

Person.Contact

Sales.Customer

Sales.Individual

Sales.SalesOrderHeader

Sales.SalesOrderDetail

18,484

已对销售和统计数据进行处理,以应用于数据挖掘方案。

统计数据(收入、爱好、车辆数目等)以 xml 格式存储在 Individual 表的 Demographics 列中。

商店

Person.Contact

Sales.Customer

Sales.Store

Sales.StoreContact

Sales.SalesOrderHeader

Sales.SalesOrderDetail

701

已对数据进行处理,以应用于 Analysis Services 方案。

商店按规模可分为:大型、中型和小型。

统计数据以 xml 格式存储。

商店联系人是与 Adventure Works Cycles 销售代表联系的商店雇员。例如,通常与 Adventure Works Cycles 销售人员联系的人员为店主或采购经理。

示例

可以使用下列查询查看客户数据,并熟悉客户-表关系。

A. 查看个人客户(消费者)

下面的示例返回每个个人消费者 (CustomerType = 'I') 客户的姓名。

USE AdventureWorks;
GO
SELECT FirstName, LastName
FROM Person.Contact AS C
    JOIN Sales.Individual AS I
        ON C.ContactID = I.ContactID
    JOIN Sales.Customer AS Cu
        ON I.CustomerID = Cu.CustomerID
WHERE Cu.CustomerType = 'I'
ORDER BY LastName, FirstName ;
GO

B. 查看个人客户的地址数据

下面的示例列出所有个人客户的姓名和地址。

USE AdventureWorks;
GO
SELECT I.CustomerID, C.FirstName, C.LastName, A.AddressLine1, A.City, 
    SP.Name AS State, CR.Name AS CountryRegion
FROM Person.Contact AS C
    JOIN Sales.Individual AS I ON C.ContactID = I.ContactID
    JOIN Sales.CustomerAddress AS CA ON CA.CustomerID = I.CustomerID
    JOIN Person.Address AS A ON A.AddressID = CA.AddressID
    JOIN Person.StateProvince SP ON 
        SP.StateProvinceID = A.StateProvinceID
    JOIN Person.CountryRegion CR ON 
        CR.CountryRegionCode = SP.CountryRegionCode
ORDER BY I.CustomerID ;
GO

C. 查看商店客户(零售店或批发店)

下面的示例将返回每个商店 (CustomerType = 'S') 客户的名称。

USE AdventureWorks;
GO
SELECT Name
FROM Sales.Store AS S
    JOIN Sales.Customer AS C
        ON S.CustomerID = C.CustomerID
WHERE C.CustomerType = N'S'
ORDER BY Name ;
GO
GO

D. 按商店查看商店联系人

下面的示例返回所有商店客户的名称以及授权代表其公司购买 Adventure Works Cycles 产品的商店雇员的姓名和职位。

USE AdventureWorks;
GO
SELECT S.Name AS Store, C.FirstName, C.LastName, CT.Name AS Title 
FROM Person.Contact AS C 
    JOIN Sales.StoreContact AS SC ON C.ContactID = SC.ContactID
    JOIN Person.ContactType AS CT ON 
        CT.ContactTypeID = SC.ContactTypeID
    JOIN Sales.Store AS S ON S.CustomerID = SC.CustomerID
ORDER BY S.Name ;
GO

E. 按商店查看销售

下面的示例列出商店客户及其相关销售订单。

USE AdventureWorks;
GO
SELECT Name, SalesOrderNumber, OrderDate, TotalDue
FROM Sales.Store AS S
    JOIN Sales.SalesOrderHeader AS SO ON S.CustomerID = SO.CustomerID
ORDER BY Name, OrderDate ;
GO

F. 按位置查看商店

下面的示例显示商店的客户名称、城市、省/市/自治区和国家/地区。

USE AdventureWorks;
GO
SELECT S.CustomerID, S.Name AS Store, A.City, SP.Name AS State, CR.Name
    AS CountryRegion
FROM Sales.Store AS S
    JOIN Sales.CustomerAddress AS CA ON CA.CustomerID = S.CustomerID
    JOIN Person.Address AS A ON A.AddressID = CA.AddressID
    JOIN Person.StateProvince SP ON 
        SP.StateProvinceID = A.StateProvinceID
    JOIN Person.CountryRegion CR ON 
        CR.CountryRegionCode = SP.CountryRegionCode
ORDER BY S.CustomerID ;
GO
GO

请参阅

概念

产品方案
采购方案和供应商方案
生产方案

其他资源

Adventure Works Cycles 业务方案

帮助和信息

获取 SQL Server 2005 帮助