sql - oracle sql中如何连接3个表
问题描述
我在数据库中有以下表格: (CUSTOMERS) [CUSTOMER_ID] , [CUSTOMER_NAME]
(订单) [ORDER_ID] , [ORDER_TYPE]
(CUSTOMERS_ORDERS) [CUSTOMER_ID], [ORDER_ID]
我正在尝试生成以下查询结果:
[order_type],[Count(orders)], [count(distinct(customer_id))]
实现此查询的最简单方法是什么。
解决方案
试试这个:
SELECT
O.ORDER_TYPE,
COUNT(O.ORDER_ID),
COUNT(DISTINCT CO.CUSTOMER_ID)
FROM ORDERS O
JOIN CUSTOMERS_ORDERS CO
ON O.ORDER_ID = CO.ORDER_ID
JOIN CUSTOMERS C
ON C.CUSTOMER_ID = CO.CUSTOMER_ID;
下次当您提出问题时,请附上一些示例数据和预期结果,以便我们为您提供适当的解决方案。
推荐阅读
- ruby-on-rails - 如何在 select_time 中包含占位符文本?
- jenkins - Ingress Kubernetes 不可用
- javascript - 组合数组中的属性
- java - 为什么 SQL MATCH 查询不能通过 java 工作
- python - 提供的值不是有效的浮点数实例。但我不是要浮动。我哪里出错了?
- javascript - 如何让 COMMAND + F 与 Selenium Javascript 一起工作
- javascript - 如何将预先存在的张量转换为 Tensorflow.js 中的另一种数据类型?
- c# - 我收到“字符串的长度超过 maxJsonLength 属性上设置的值”
- python - 正则表达式提取可变数量的键值对
- excel - 尝试使用 Python 将文本文件读入 Excel 2016 工作表