Python 如何列出链接到表id的外键数据?
我想做的是创建4个相互关联的渐进分类类。我不知道我所做的方法是否正确。不幸的是,我已经阅读这份文件好几天了。但是我没有取得多大进展 在“company”类中,如何查询属于“DepartmentalUnit”类的所有数据Python 如何列出链接到表id的外键数据?,python,sql,postgresql,psycopg2,Python,Sql,Postgresql,Psycopg2,我想做的是创建4个相互关联的渐进分类类。我不知道我所做的方法是否正确。不幸的是,我已经阅读这份文件好几天了。但是我没有取得多大进展 在“company”类中,如何查询属于“DepartmentalUnit”类的所有数据 create_table_company= '''CREATE TABLE company( ID SERIAL PRIMARY KEY , NAME VARCHAR NOT NULL , ); ''' create_table_department = '''CREATE
create_table_company= '''CREATE TABLE company(
ID SERIAL PRIMARY KEY ,
NAME VARCHAR NOT NULL ,
); '''
create_table_department = '''CREATE TABLE department (
ID SERIAL PRIMARY KEY ,
NAME VARCHAR NOT NULL ,
company_id BIGINT,
FOREIGN KEY(company_id) REFERENCES COMPANY(id)); '''
create_table_department_unit = '''CREATE TABLE department_unit(
ID SERIAL PRIMARY KEY ,
NAME VARCHAR NOT NULL ,
department_id BIGINT,
FOREIGN KEY(department_id) REFERENCES DEPARTMENT(id));
create_table_department_unit_categroy = '''CREATE TABLE department_unit_category(
ID SERIAL PRIMARY KEY ,
NAME VARCHAR NOT NULL ,
department_unit_id BIGINT,
FOREIGN KEY(department_unit_id) REFERENCES DEPARTMENT_UNİT(id));
大概是这样的:
SELECT
c.id, c.name, du.*
FROM
company AS c
JOIN
department AS d
ON
c.id = d.company_id
JOIN
department_unit AS du
ON
du.department_id = d.id
;
更新
上面的查询通过公共字段连接表来获取
部门单元
信息。在这种情况下,company
表通过使用链接回公司的department
中的company\u id
字段来查找每个公司的department
信息。找到公司的部门后,使用department\u unit
中的department\u id
字段链接回department
表,即可找到每个部门的部门单位。最终的结果是一条连接公司和部门单位的链条。你的回答解决了我的问题,但我想我不明白。更确切地说,我无法理解。我不知道如何处理数据库问题?非常感谢您的帮助。@sananane。你必须更明确地说明数据库的问题是什么?对不起,我的英语不是很好。我想我写错了。我必须设计一个数据库并编写查询。然而,我不能理解数据库相关的主题。尽管我阅读了这些文档,但我还是建议你用你的语言找一本入门书和/或教程,介绍SQL
数据库的基础知识。您想要的内容涵盖了大量信息,超出了答案的范围。我会更新我的答案来解释为什么这个查询有效。非常感谢您的帮助。我需要多学习