客户和订单 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 语句的主要内容,如果未能解决你的问题,请参考以下文章

SQL的一些查询语句

SQL语句帮助 - 为每个客户选择最新订单

用select语句将两个表合成为一个表

2022-12-17:订单最多的客户。以下数据,结果输出3。请问sql语句如何写? DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `

SQL语句统计每天、每月、每年的销售总额

【写SQL语句】按照用户统计对应订单数和订单总金额?