1

次のようなテーブルがあります。

Person (Ssn, Name, Age, Petname)

Ssn = 1 の人と同じ量のペットを飼っているすべての人の名前を返す質問を作成する必要があります (つまり、Ssn = 1 の人が Petname に Petname = "Zeus" を持っている場合、ペットは返却する必要があります)。テーブルのデザインがばかげていることは知っていますが、それは学校の課題からのもので、そのように見える必要があります.

これは私がこれまでに得たものです。部分的には正しいと思いますが、完全には理解できないようです:

SELECT Name 
FROM   Person 
WHERE (SELECT COUNT(Petname) FROM Person WHERE Ssn = '1')
       = (SELECT COUNT(Petname) FROM Person WHERE Ssn != '1');
4

3 に答える 3

0

これを試して

select Name from Person 
group by Name 
having 
sum(case when Pnr = '1' then 1 else 0 end) = sum(case when Pnr <> '1' then 1 else 0 end)
于 2013-10-11T12:19:13.103 に答える