当前位置: 首页 > 知识库问答 >
问题:

SQL选择逻辑两个表

余歌者
2023-03-14

我有两张桌子

  • 客户(ID,First_Name,Last_Name,地址);
  • 订单(ID,Product_Name,价格,Order_Date日期,Customer_ID,金额);

我必须选择客户的姓氏以及他们的订单数量。

select请求的输出必须是

SMITH  | 0
GREG   | 2
WATSON | 0
HOLMSE | 2
RUST   | 4
FRINGE | 1
TKACH  | 3

共有2个答案

狄峻熙
2023-03-14
SELECT 
    c.Last_Name, COUNT(o.ID)
FROM
    Customer c
        LEFT JOIN
    Orders o ON c.ID = o.Customer_ID
GROUP BY c.Last_Name
ORDER BY c.Last_Name;

您可以在姓氏列上使用“左联接”和“分组依据”来执行此操作。

邢皓
2023-03-14

您可以使用以下方法,使用LEFT JOINGROUP BY

SELECT c.Last_Name, COUNT(o.ID)
FROM Customer c LEFT JOIN Orders o ON c.ID = o.Customer_ID 
GROUP BY c.ID
 类似资料:
  • 问题内容: 有这张桌子 和这个 我如何从表“项目”中选择所有行并显示字段“已删除”,即使在给定用户ID的情况下,即使“ MyList”中不存在itemID? 查询结果示例: 什么是查询,以便我可以得到该结果? 谢谢 问题答案: 我不确定这是否是最好的方法,但它会返回我一直在寻找的内容:

  • 我使用两个SELECT语句创建以下两个临时表t1和t2: 和 两个SELECT语句本质上总是返回相同数量的行。现在,我想水平连接/组合这两个结果,以获得以下输出表: 我尝试使用多个JOIN语句,但可以找到一种聪明的方法。我还尝试了UNION语句,它提供了垂直连接,但没有提供所需的水平版本。 这里有两个简单的选择语句,用于更好地定位可能的解决方案: 提前感谢您的帮助。

  • 问题内容: 我想选择两个日期之间的记录- startDate和endDate(它们是sql中的日期/时间格式)。我有以下sql查询,但它不起作用,有人可以告诉我我在做什么错吗? 问题答案: 我建议将日期转换为日期时间并进行比较,并使日期保持标准和一致。就像是: 注意:我假设您的startDate和endDate与您提供的字符串具有相同的格式。

  • 本文向大家介绍jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析,包括了jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析的使用技巧和注意事项,需要的朋友参考一下 近期看了一些网上关于Sizzle的分析文章,就匹配次序往往就说使用了从右到左的逆向匹配法,但是具体如何并没有详细介绍,或者就像我之前的几篇文章一样,就代码一行一行做详细介绍,但缺乏整体概念,这里就jQuery

  • 假设我有两个表,我想计算它们的和差: 如何仅使用一个选择查询从每个员工中选择他们的SUM(工资)之间的差异? 例如: 最终结果将是这样的:

  • 问题内容: 我有一个表的结构为 现在,我需要执行一个查询, **表中已经 存在 if的 更新 ,如果不是,则在表3中插入记录作为新记录。 这就是我现在在代码中得到的 问题答案: 您可以使用SQL Server中的语法执行“ upsert”操作: 否则,您可以使用类似以下内容的方法: