質問から達成したいのは、すべてのアバターとその父と母親を選択することです(親IDと性別を決定することによって)アバターusername内部結合テーブルからデータを引き出して2つの行を1つにマージする
これは私が最初に父と内側のための別のサブクエリを返すサブクエリを完了していないことを考えた解決策の一種であるが、母親に戻すために参加
SELECT avatars.username as ChildUsername, father.username as FatherUsername, mother.username as MotherUsername
FROM avatars
INNER JOIN avatars father(
SELECT *
FROM children
INNER JOIN children child ON
WHERE avatars.gender = 'M' AND
)
INNER JOIN avatars mother
データベース:
CREATE TABLE avatars
(avatarID NUMBER CONSTRAINT pk_avatars PRIMARY KEY,
username VARCHAR2(20),
gender CHAR(1)
);
CREATE TABLE children
(childID NUMBER CONSTRAINT pk_children PRIMARY KEY,
childAvatarID NUMBER,
parentAvatarID NUMBER
);
ALTER TABLE children
ADD FOREIGN KEY (parentAvatarID)
REFERENCES avatars(avatarID);
ALTER TABLE children
ADD FOREIGN KEY (childAvatarID)
REFERENCES avatars(avatarID);
データ:
INSERT INTO avatars VALUES (1,'av1','M');
INSERT INTO avatars VALUES (2,'av2','F');
INSERT INTO avatars VALUES (3,'av3','M');
INSERT INTO children VALUES (1,3,1); //Father
INSERT INTO children VALUES (2,3,2); //Mother
上記のデータはこの出力を得たいと考えています
ChildUsername FatherUsername MotherUsername
av3 av1 av2
あなたの子供たちのテーブルには、3つの列があり、子どもたちにあなたの挿入は、4つのパラメータがあります。あなたは情報を忘れていますか? –