Sql 如何通过外部表解析id
我想通过另一个表解析一个ID,该表存储该ID的名称Sql 如何通过外部表解析id,sql,postgresql,select,Sql,Postgresql,Select,我想通过另一个表解析一个ID,该表存储该ID的名称 SELECT d.id_data, string_agg(s.name_last,', ') AS authors, d.title, i.name FROM data d, institution i, staffs s WHERE d.id_staffs = s.id_staffs AND d.id_institution = i.id_institution GROUP BY d.id_data limit 100 ; 但是
SELECT d.id_data, string_agg(s.name_last,', ') AS authors, d.title, i.name
FROM data d, institution i, staffs s
WHERE d.id_staffs = s.id_staffs
AND d.id_institution = i.id_institution
GROUP BY d.id_data limit 100 ;
但是我怎样才能知道我所在机构的名称呢。我希望SELECT向我显示存储数据的机构名称。诸如此类
id_data | authors | title | name
----------------------------------------------------------------
1 |Mustermann, Musterfrau | sunmaker | university cologne
2 |Schmidt, Müller | dry age | university berlin
我只需要将机构的id解析为他的名字。始终使用正确、明确、标准的
JOIN
语法。切勿在FROM
子句中使用逗号
大概你想要这样的东西:
SELECT d.id_data, string_agg(s.name_last,', ') AS authors,
d.title, i.name
FROM data d JOIN
institution i
ON d.id_staffs = s.id_staffs JOIN
staffs s
ON d.id_institution = i.id_institution
GROUP BY d.id_data, d.title, i.name
LIMIT 100 ;
也就是说,修复分组依据
,以获得所有未聚合的列