2009-11-16 154 views
0

TSQL查询选择客户有订单的所有记录,并选择没有订单的客户的所有记录。 Customer表包含CustomerID的主键。 Order表包含OrderID的主键和CustomerID的外键。客户和订单SQL语句

+2

我不明白它的其他客户。如果你不打算上课,为什么要报名参加课程? – 2009-11-16 01:45:04

+0

所以你只想要有和没有订单的客户记录? – wcm 2009-11-16 14:41:53

回答

0

我想出了这个解决方案。

Select CustomerName 
from Customer 
Where pk_CustomerID IN 
(
Select fk_CustomerID from Orders 
INNER JOIN Customer 
on Customer.pk_CustomerID=Orders.fk_CustomerID) 

的/ * NOT IN代替会给谁没有一个订单*/

+0

@jero:我很抱歉,那些'pk_'和'fk_'前缀都要走了。 – Sung 2009-11-17 04:59:38

3

喜欢的东西

Select yourcustomerfields, yourorderfields 
From Customer 
Left join Orders on Customer.OrderID = Orders.OrderID