【发布时间】:2013-12-01 09:22:33
【问题描述】:
我有表客户:
Id Code Name
1 100 John
2 200 Jack
3 300 Mike
4 400 Betty
和表SaleType:
Id Code Name
1 1000 cash
2 2000 cheque
3 3000 free
还有一个表格,描述哪个客户拥有哪个销售类型,名为 SaleType_Customer
Id SaleTypeID CustomerID
1 1 1
2 1 2
3 2 1
4 2 3
我想编写一个获取客户 SaleTypes 的查询。但是,如果客户不在表 SaleType_Customer 中,则查询将返回所有 SaleTypes。我该如何编写这个查询?
我的查询:
SELECT SaleType.ID, SaleType.Code, SaleType.Name
FROM SaleType left outer join SaleType_Customer on SaleType.Id = SaleType_Customer.SaleTypeID
Where SaleType_Customer.CustomerID= 1
我想要 John (id=1) 的结果:
Id Code Name
1 1000 cash
2 2000 cheque
对于 Betty (id=4) 来说是完整的,因为她不在 SaleType_Customer:
Id Code Name
1 1000 cash
2 2000 cheque
3 3000 free
我应该如何编写查询?
【问题讨论】: