oracle数据库查询销售总数量超过50的商品名称、销售总数量、业务员名
时间: 2023-08-04 21:09:32 浏览: 165
可以使用以下SQL语句来查询销售总数量超过50的商品名称、销售总数量、业务员名:
```
SELECT p.product_name, SUM(o.quantity) AS total_quantity, s.salesman_name
FROM orders o
JOIN products p ON o.product_id = p.product_id
JOIN salesman s ON o.salesman_id = s.salesman_id
GROUP BY p.product_name, s.salesman_name
HAVING SUM(o.quantity) > 50;
```
这个查询语句会先将订单表orders、产品表products和业务员表salesman连接起来,然后按照产品名称和业务员名进行分组,计算销售总数量,并筛选出销售总数量超过50的结果。
注意,这个查询语句是基于Oracle数据库的,如果使用其他数据库可能会有一些差异。
相关问题
oracle数据库查询销售商品ID最大的业务员名字和电话(嵌套)
好的,以下是对应的 SQL 查询语句:
```sql
SELECT salesman.name, salesman.phone
FROM salesman
WHERE salesman.salesman_id = (
SELECT MAX(sales.salesman_id)
FROM sales
)
```
以上查询语句中,子查询 `SELECT MAX(sales.salesman_id) FROM sales` 用于查询销售商品ID最大的业务员ID,然后在外层查询中通过 `WHERE salesman.salesman_id = ...` 来获取对应业务员的名字和电话。注意,这里使用了嵌套查询来实现所需的功能。
oracle数据库查询销售过程中至少被卖出两次的销售商品记录,要求结果返回商品名
可以使用如下的 SQL 语句来查询:
```
SELECT 商品名
FROM 销售表
WHERE 商品编号 IN (
SELECT 商品编号
FROM 销售表
GROUP BY 商品编号
HAVING COUNT(*) >= 2
)
GROUP BY 商品名;
```
上述 SQL 语句中,我们首先在子查询中找出被卖出至少两次的商品编号,然后在主查询中使用 `IN` 子句过滤出对应的记录,并且使用 `GROUP BY` 子句按照商品名分组,最终返回商品名。
阅读全文