AdventureWorks查询

时间:2014-09-17 22:49:31

标签: sql adventureworks

在AdventureWorks 2008中,有哪些其他(更好)的方法可以编写此查询:

SELECT DISTINCT o.CustomerID,  c.CustomerType, 
ISNULL(s.Name, p.FirstName + ' ' + p.LastName) AS Name  

FROM Sales.SalesOrderHeader o

INNER JOIN Sales.Customer c
ON c.CustomerID = o.CustomerID

LEFT OUTER JOIN sales.Individual i
ON i.CustomerID = o.CustomerID

LEFT OUTER JOIN sales.Store s
ON s.CustomerID = o.CustomerID

LEFT OUTER JOIN Person.Contact p
ON p.ContactID = i.ContactID 

ORDER BY CustomerID

最好能够支持其他CustomerTypes。

结果如下:

   CustomerID   CustomerType    Name
    697            S            Brakes and Gears
    698            S            Western Bike Supplies
    699            S            Sensational Discount Store
    700            S            Underglaze and Finish Company
    701            S            Future Bikes
    11000          I            Jon Yang
    11001          I            Eugene Huang
    11002          I            Ruben Torres
    11003          I            Christy Zhu

0 个答案:

没有答案