数据库查询问题,请大家帮个忙,急用.追加到最高分的,只要给出一题的答案都追加分了..大家快来啊!!高分回报.

来源:百度知道 编辑:UC知道 时间:2024/06/21 21:47:40
利用AdventureWorks数据库查询.
(1)统计公司在各个国家的个人客户数量。
(提示:需要用到的表分别有Sales.Individual,Sales.CustomerAddress,Person.Address,Person.StateProvince,Person.CountryRegion,主要就是通过Person.CountryRegion表中Name(国家名称)来统计出个人客户的个数)
(2)查询所有商店客户的名称以及授权代表其公司购买 AdventureWorksCycles 产品的商店雇员的姓名和职位
(提示:使用到的表Person.Contact,Sales.StoreContact,Person.ContactType,Sales.Store。商店名称保存在表Sales.Store的Name里,雇员的姓名保存在表Person.Contact的FirstName和LastName里,职位保存在表Person.ContactType的Name里)
(3)查看商店和个人客户名称及销售情况。为了增加市场竞争力,淘汰掉销售量没有达到标准(商店至少年销售在10000.0000以上,而个人客户必须在1000.0000以上)的客户。以“2001”年为例,筛选出所有没有达到标准销售量的客户,显示他们的名称,统计的年份以及年销售总量。
(提示:商店的信息保存在表Sales.Store和表Sales.SalesOrderHeader中,表Sales.Store的Name保存商店的名称,在表Sales.SalesOrderHeader保存各商店对应的订单时间OrderDate和订单的数量SubTotal即销售量。
个人客户的信息及销售情况保存在表Person.Contact,Sales.Individual,Sales.SalesOrderHeader这三张表中。表Person.Contact的FirstName和LastName保存的是客户的姓名,表Sales.SalesOrderHeader的OrderDate保存的是订单时间,SubTotal保存的是订单的数量即销售量)
(4)Jon Yang(CustomID为11000)是公司一名老客户,由于对本公司产品的质量十分满意,所以将

第一题:
select d.[Name],Count(a.CustomerID) as CustomerID from Sales.Individual a
join Sales.CustomerAddress b on a.CustomerID = b.CustomerID
join Person.Address c on b.AddressID = c.AddressID
join Person.StateProvince d on c.StateProvinceID = d.StateProvinceID
join Person.CountryRegion e on d.CountryRegionCode = e.CountryRegionCode
group by d.[Name]

第二题
select a.[Name] as StoreName,c.FirstName + ' ' + IsNull(c.MiddleName,'') + ' ' + c.LastName as ContactName,d.[Name] as ContactTypeName from Sales.Store a
join Sales.StoreContact b on a.CustomerID = b.CustomerID
join Person.Contact c on b.ContactID = c.ContactID
join Person.ContactType d on b.ContactTypeID = d.ContactTypeID
Where a.[Name] like '%Cycles%'
--这题出得有点问题,我想了半天才想明白,所谓的"授权代表其公司购买 AdventureWorksCycles 产品",应该理解为卖Cycles产品的客户,否则是查不出数据的。

第三题,条件不全,不保证正确,仅供参考
select a.[Name],c.FirstName + ' ' + IsNul