By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
select @@version;
@@version |
---|
8.0.22 |
create table tblParent1(id int, name char(10), age int);
insert into tblParent1 values (1,'Lima', 44),(2,'Jenny', 45);
create table tblParent2(id int, name char(10), age int);
insert into tblParent2 values (1,'John', 44),(2,'Tess', 41);
create table tblParent3(id int, name char(10), age int);
insert into tblParent3 values (1,'Jeff', 39),(2,'Gyro', 47);
create table tblChild(id int, note char(10), tblParent1_key int, tblParent2_key int, tblParent3_key int);
insert into tblChild values (1,'...', 2, 2, 1);
create table tblChildOfChild(id int, feedback char(10), tblChild_key int);
insert into tblChildOfChild values (1,'Anything', 1);
SELECT t.id, t.feedback, t1.note as note, p1.name as parent1, p2.name as parent2,
p3.name as parent3
FROM tblChildOfChild t
LEFT JOIN tblChild t1 ON t.tblChild_key = t1.id
LEFT JOIN tblParent1 p1 ON t1.id = p1.id
LEFT JOIN tblParent2 p2 ON p1.id = p2.id
LEFT JOIN tblParent3 p3 ON p2.id = p3.id
WHERE t.id = 1
id | feedback | note | parent1 | parent2 | parent3 |
---|---|---|---|---|---|
1 | Anything | ... | Lima | John | Jeff |