2

我正在尝试解决一些问题,但我不确定如何执行以下操作

问:找出两台或多台 PC 中相同的硬盘大小。

它在这个网站上的 q15 。

数据库方案由四个表组成:

Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)

任何指针将不胜感激。

编辑:这是 pc 表中所有硬盘驱动器的列表以及正确答案应该是什么。

在此处输入图像描述

4

5 回答 5

5

这个怎么样 ?

Select PC.hd From PC
group by PC.hd
Having Count(PC.hd) >= 2
于 2012-06-13T10:42:09.503 回答
3
SELECT DISTINCT p1.hd
  FROM PC p1
  JOIN PC p2
    ON p1.code <> p2.code
 WHERE p1.hd = p2.hd
于 2012-06-13T10:41:22.947 回答
1

假设:pc.code 是主键。

SELECT DISTINCT a.hd
  FROM pc a
 WHERE EXISTS
       (SELECT *
          FROM pc b
         WHERE a.hd = b.hd
           AND a.code != b.code)
于 2012-06-13T10:40:08.327 回答
1

试试这个

select hd from pc group by hd having count(hd)>1

我注册并尝试了这个,它说对了。

于 2012-06-13T10:41:19.637 回答
0
SELECT hd FROM PC GROUP BY hd HAVING COUNT(hd)>1

对。

您的查询结果:

hd
5.0
8.0
10.0
14.0
20.0
于 2014-02-18T13:50:00.957 回答