2

私はいくつかの質問に対処しようとしていますが、次のことを行う方法がわかりません

Q: 2 台以上の PC 間で等しいハード ドライブのサイズを見つけます。

このサイトのq15 。

データベース スキームは、次の 4 つのテーブルで構成されます。

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 に答える