わかりました、テーブルが 2 つあります。
1 つのテーブルは Persons と呼ばれ、列 Pname と Age だけがあります。(人の名前と年齢)。もう 1 つのテーブルは Giving と呼ばれ、donor、receiver、および giftname があります。(ドナーとレシーバーには、persons.pname を参照する外部キー制約があります)。
年齢の異なる人に贈り物を寄付したすべての人の名前を見つける必要があります。
わかりました、テーブルが 2 つあります。
1 つのテーブルは Persons と呼ばれ、列 Pname と Age だけがあります。(人の名前と年齢)。もう 1 つのテーブルは Giving と呼ばれ、donor、receiver、および giftname があります。(ドナーとレシーバーには、persons.pname を参照する外部キー制約があります)。
年齢の異なる人に贈り物を寄付したすべての人の名前を見つける必要があります。
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
ドナーの年齢がレシーバーの年齢と異なる必要がある場合は、次のようにしてください。
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