Я пытаюсь соединить предварительно соединенную таблицу с другой, расположенной рядом, но, похоже, она не работает.
Вот код:
SELECT
r.domainid,
r.dombegin AS DomainStart,
r.domend AS Domain_End,
d.ddid,
d.confid1 AS confid,
c.pdbcode,
c.chainid,
a.pdbcode AS "cath_pdbcode",
c.pdbcode
FROM dyn_dyndomrun d, cath_domains a
INNER JOIN dyn_conformer c ON d.confid1 = c.id
INNER JOIN dyn_domainregion r ON r.domainid::varchar(8) = d.ddid
INNER JOIN dyn_conformer AS c ON a.pdbcode::character(4) = c.pdbcode
UNION ALL
SELECT
NULL,
NULL,
NULL,
NULL,
NULL,
d.ddid,
d.confid2,
c.pdbcode,
c.chainid
FROM dyn_dyndomrun d
INNER JOIN dyn_conformer c ON d.confid2 = c.id
ORDER BY confid ASC
В этой строке что-то не так
FROM dyn_dyndomrun d, cath_domains a
INNER JOIN dyn_conformer c ON d.confid1 = c.id
INNER JOIN dyn_domainregion r ON r.domainid::varchar(8) = d.ddid
INNER JOIN dyn_conformer AS c ON a.pdbcode::character(4) = c.pdbcode
Вот ошибка:
ERROR: invalid reference to FROM-clause entry for table "d"
LINE 11: INNER JOIN dyn_conformer c ON d.confid1 = c.id
^
HINT: There is an entry for table "d", but it cannot be referenced from this part of the query.
********** Error **********
ERROR: invalid reference to FROM-clause entry for table "d"
SQL state: 42P01
Hint: There is an entry for table "d", but it cannot be referenced from this part of the query.
Character: 236
НаВ конце я хотел бы иметь таблицу, в которой она имеет, "domainid, domainstart, domainend, ddid, confid, chainid, pdbcode from conformer and the chain id"
, и наряду с этим, я хотел бы иметь новый набор столбцов из другой таблицы, такой как "pdbcode from cath_domains, cathbegin, cathend"
.
Pdbcode из conformer и cath_domains совпадают друг с другом, и поэтому я хотел бы дать им перекрестную ссылку.
Я делаю это неправильно?