Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何列出链接到表id的外键数据?_Python_Sql_Postgresql_Psycopg2 - Fatal编程技术网

Python 如何列出链接到表id的外键数据?

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

我想做的是创建4个相互关联的渐进分类类。我不知道我所做的方法是否正确。不幸的是,我已经阅读这份文件好几天了。但是我没有取得多大进展

在“company”类中,如何查询属于“DepartmentalUnit”类的所有数据

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
数据库的基础知识。您想要的内容涵盖了大量信息,超出了
答案的范围。我会更新我的答案来解释为什么这个查询有效。非常感谢您的帮助。我需要多学习