m0_62138486 2023-04-12 08:53 采纳率: 98.6%
浏览 34
已结题

运行时错误,如何修改,求解答

10-8 5-3 查询生产最高速度的计算机(PC或便携式电脑)厂商

本题目要求编写SQL语句,
查询生产最高速度的计算机(PC或便携式电脑)厂商,查询结果按照厂商升序排列。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE product
( maker CHAR(20) ,          --制造商
  model CHAR(20) NOT NULL,  --产品型号
  type CHAR(20),            --产品类型
  PRIMARY KEY(model)
);
CREATE TABLE pc
( model CHAR(20) NOT NULL,    --型号
  speed  DECIMAL(6,2),        --速度
  ram  INT,                   --内存
  hd DECIMAL(6,2),            --硬盘容量
  cd CHAR(4),                 --光驱
  price INT,                  --价钱
  PRIMARY KEY(model),
  FOREIGN KEY(model) REFERENCES product(model)
);
CREATE TABLE laptop
( model CHAR(20) NOT NULL,    --型号
  speed  DECIMAL(6,2),        --速度 
  ram  INT,                   --内存
  hd DECIMAL(6,2),            --硬盘容量
  screen DECIMAL(6,2),        --屏幕大小
  price INT,                  --价钱
  PRIMARY KEY(model),
  FOREIGN KEY(model) REFERENCES product(model) 
);

表样例
product表:

maker model type
D 2001 便携式电脑
D 2002 便携式电脑
E 2004 便携式电脑
D 3001 打印机
B 3002 打印机
A 1001 个人电脑
A 1002 个人电脑
A 1003 个人电脑
D 1008 个人电脑
pc表:

model speed ram hd cd price
1001 133.00 16 1.60 6X 1595
1002 120.00 16 1.60 6X 1399
1003 166.00 32 2.50 8X 1999
1008 180.00 32 2.00 8X 3699
laptop表:

model speed ram hd screen price
2001 100.00 20 1.10 9.50 1999
2002 133.00 12 0.75 11.30 2499
2004 133.00 16 1.10 11.20 3499
输出样例:
maker
D

select a.maker
from product inner join pc on product.model and pc.model inner join laptop on product.model and laptop.model as a
group by a.maker
having max(a.speed);//having的存在解决了where中无法使用聚集函数的问题

img

  • 写回答

6条回答

  • CSDN专家-文盲老顾 2023-04-12 09:15
    关注
    
    
    select maker
        ,sum(case when speed>=133 then 1 else 0 end) `speed133+`
        ,sum(case when type='个人电脑' then 1 else 0 end) 个人电脑
        ,sum(case when type='便携式电脑' then 1 else 0 end) 便携式电脑
        ,count(0) 种类
    from product p
    left join (
        select * from pc
        union all
        select * from laptop
    ) b on p.model=b.model
    group by maker
    order by maker
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 已采纳回答 4月13日
  • 创建了问题 4月12日