次の表を使用して、親とその保護者を返すクエリを作成したいと思います。私の質問は、personテーブルのname属性を2回使用して、介護者の名前と親の名前を返す方法です。サンプルコードをいただければ幸いです。私はそれをあまりよく説明していないことを知っていますが、誰かが私の意味を理解しているなら、上記を自由に編集してください。具体的には、personテーブルのみを使用して、親と子に関する情報を格納し、関連する各人の名前を表示します。単一のテーブルでこれを行うにはどうすればよいですか。
提供されたアドバイスを使用して、クエリを作成できましたが、テーブルに問題があるため、機能しません。私は次のテーブルを使用しています:
CREATE TABLE Person
(
personID INT NOT NULL,
name VARCHAR(50),
address VARCHAR(70),
phone VARCHAR(15),
email VARCHAR(30),
year INT,
PRIMARY KEY (personID)
);
CREATE TABLE Guardian
(
parentID INT NOT NULL,
childID INT NOT NULL,
PRIMARY KEY (parentID, childID)
FOREIGN KEY (parentID) REFERENCES (personID),
FOREIGN KEY (childID) REFERENCES (personID)
);
これを正しく機能させるには、どのステートメントを使用する必要がありますか。問題は、両方の外部キーステートメントがpersonテーブルの同じキーを参照していることだと思います。エラーが発生せずに親と子の両方を検索するときに同じ属性を参照するにはどうすればよいですか。