我想从查询中实现的是选择所有头像及其父母(通过获取parentID和性别来确定),并显示每个头像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列和你的INSERT INTO的孩子有4个参数。你是否在伪造任何信息? –