客户和订单 Sql 语句
Posted
技术标签:
【中文标题】客户和订单 Sql 语句【英文标题】:Customer and Order Sql Statement 【发布时间】:2009-11-16 01:41:40 【问题描述】:TSQL 查询从具有订单的客户中选择所有记录,并从没有订单的客户中选择所有记录。表 Customer 包含 CustomerID 的主键。表 Order 包含 OrderID 的主键和 CustomerID 的外键。
【问题讨论】:
我不明白。如果您不去上课,为什么要报名参加该课程? 所以您只想要有订单和没有订单的客户记录? 【参考方案1】:有点像
Select yourcustomerfields, yourorderfields
From Customer
Left join Orders on Customer.OrderID = Orders.OrderID
【讨论】:
【参考方案2】:我想出了这个解决方案。
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 代替 IN 会给其他没有订单的客户 */
【讨论】:
@jero:我很抱歉,但那些pk_
和 fk_
前缀必须去掉。以上是关于客户和订单 Sql 语句的主要内容,如果未能解决你的问题,请参考以下文章
2022-12-17:订单最多的客户。以下数据,结果输出3。请问sql语句如何写? DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `