where e.order_no=f.order_no) g group by cust_id having count(distinct prod_id)>=3) h) 为什么要加h?
select a.cust_id,cust_name,b.prod_id,prod_name,d.qty,d.qty*d.unit_price
from customer a,product b,sales c,sale_item d
where a.cust_id=c.cust_id and d.prod_id=b.prod_id and
c.order_no=d.order_no and a.cust_id in (
select cust_id
from (select cust_id,count(distinct prod_id) prod_id
from (select cust_id,prod_id
from sales e,sale_item f
where e.order_no=f.order_no) g
group by cust_id
having count(distinct prod_id)>=3) h)
人气:321 ℃ 时间:2020-09-20 23:44:57
解答
简化后其实是这样的
from (
from () g
) h
h与g都叫做表别名,因为from子句后面()没有明确的表名,
需要添加表别名来让系统识别,h和g分别代表内部的select输出
推荐
- SQL的执行顺序,如:( Select,From,Where Group By , Order By)如何的顺序
- 这样的SQL select语句怎么写?怎么显示数据 distinct,order by,group by,having?
- group by order by
- 函数f(x)=a^x/(1+a^x) -a是奇函数 则实数a的值为?
- 若A>0,B>0,C
- 在三角形中,角A,B,C对边为a,b,c角A,B,C成等差数列.求cosB的值?若边a,b,c成等比求sinAsinC的值?
- 我应该对当前的生活比较满意.这样说可以吗?I should be satisfied with current life.请高手指点,谢谢
- 载流量与电流密度的关系…
猜你喜欢