-1

わかりました、テーブルが 2 つあります。

1 つのテーブルは Persons と呼ばれ、列 Pname と Age だけがあります。(人の名前と年齢)。もう 1 つのテーブルは Giving と呼ばれ、donor、receiver、および giftname があります。(ドナーとレシーバーには、persons.pname を参照する外部キー制約があります)。

年齢の異なる人に贈り物を寄付したすべての人の名前を見つける必要があります。

4

2 に答える 2

1
SELECT
  Giving.donor
FROM Giving
INNER JOIN Persons AS donor ON Giving.donor=donor.Pname
INNER JOIN Persons AS receiver ON Giving.receiver=receiver.Pname
WHERE donor.Age<>receiver.Age
于 2012-12-13T20:05:09.700 に答える
0

ドナーの年齢がレシーバーの年齢と異なる必要がある場合は、次のようにしてください。

SELECT pd.pname 
FROM Persons pd
INNER JOIN giving g
ON pd.pname = g.donor
INNER JOIN persons pr
ON pr.pname = g.receiver AND pr.age != pd.age
于 2012-12-13T20:24:16.450 に答える