python - 如何列出链接到表 id 的外键数据?
问题描述
我要做的是创建4个相互关联的渐进类别类。我不知道我做的方法是否正确。不幸的是,我已经阅读该文件好几天了。但我没有取得太大进展
在“公司”类中,如何查询属于“部门单元”类的所有数据?
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
;
更新
上面的查询department_unit
通过它们的公共字段连接表来获取信息。在这种情况下,company
表格通过使用链接回公司的字段来查找department
每个公司的信息。找到公司的部门后,通过使用字段 in链接回表,可以找到每个部门的部门单位。最终结果是一条将公司与其部门单位连接起来的链条。company_id
department
department_id
department_unit
department
推荐阅读
- python-3.x - 以编程方式创建带符号 32 位浮点数的最大值的十进制(Python3)
- python - 为此提供列表理解?
- spring - 我们如何迭代和打印来自 Reactor Flux 或 Mono FlatMap 或 FlatMapMany 的值?
- javascript - 删除轨道时如何清除html视频元素
- javascript - 在javascript中获取类之外的值
- angular - 在依赖注入中使用只读
- python - 华为E303 Modem发送短信获取CME ERROR: 11
- c++ - 我可以更改特定 QComboBox 项目的布局吗?
- c++ - 在 OpenGL 中创建背景
- bash - 在 sh 脚本中运行 jarfile - 什么路径?