首页 > 解决方案 > 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))]

实现此查询的最简单方法是什么。

标签: sql

解决方案


试试这个:

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;

下次当您提出问题时,请附上一些示例数据和预期结果,以便我们为您提供适当的解决方案。


推荐阅读