sql - 使用 SQL 加入复合外键?
问题描述
我想知道是否有办法通过将 COMPOSITE FOREIGN KEY 表与 COMPOSITE PRIMARY KEY TABLE 匹配来进行 INNER JOIN,反之亦然
例如,我有一个带有复合主键(MACHINE,LOGINTIME)的表“SHIFT_INFO”。列是 MACHINE、LOGINTIME、EMPLOYEE、PART、DURATION、GOODPARTS
我有一张带有 PRIMARY/FOREIGN KEYS (MACHINE,LOGINTIME) 的表。这些列是 MACHINE、LOGINTIME、EMPLOYEE、PART、DEFECT1_count、DEFECT2_count、DEFECT3_count、Total_Defects
假设我想加入 SHIFT_INFO 以包含 Total_Defects。我怎样才能做到这一点?
解决方案
做一个JOIN
你不需要外键。那将是:
select si.*, t2.total_defects
from table2 t2 join
shift_info si
on si.machine = t2.machine and si.logintime = t2.logintime;
如果你想添加一个外键约束,那就是:
alter table table2 add constraint fk_table2_shift_info
foreign key (machine, logintime) references shift_info(machine, logintime);
推荐阅读
- angular - 如何为 Angular 配置视口插件
- angular - 同步可观测角度
- java - 如何在多模块 Gradle 项目中构建分发包?
- javascript - 如何根据下拉选择代码点火器刷新值
- laravel - 在 laravel 中调用字符串上的成员函数 has()
- apache-spark - Pyspark 代码在多次运行时在同一组数据上的不同输出
- asp.net-mvc - 更改菜单选项的颜色取决于值
- android - 自定义通知/振动 - Firebase - 磨损操作系统 - Android 8.0.0。API 26
- identityserver4 - 在身份服务器4中注册后登录
- gnuplot - 从数据文件中的 gnuplot 导出拟合数据