【发布时间】:2019-09-04 16:23:13
【问题描述】:
Tab1
列 [F,S,E]
F1 S1 R
F1 S2 R2
F1 S3 R1
F2 S1 R2
F2 S4 R4
F1 S4 R
Tab2 列[F,S]
F1 S1
F1 S3
F2 S1
F2 S4
仅当 F->S 关系存在于 Tab2 时,才从 TAB1 中取行
结果 列[F,S,E]
F1 S1 R
F1 S3 R
F2 S4 R4
请注意,简单的内部连接在这里不起作用..因为 F 和 S 之间存在关系。
使用内连接会返回一行 F1 S4 R,但 F1 和 S4 之间没有关系。
提前致谢
内连接左连接
【问题讨论】:
-
您的示例结果似乎与您的问题陈述不匹配, (F=F1, S=S3) 关系在您的 Tab1 中的值为 R1 而不是 R,并且关系 (F=F2 , S=S1) 出现在 Tab1 的第 4 行和 Tab2 的第 3 行,因此应该在您的输出中。
-
请在代码问题中给出minimal reproducible example--剪切&粘贴&可运行代码;具有所需和实际输出(包括逐字错误消息)的示例输入(作为表格初始化代码);标签和版本;明确的规范和解释。这包括您可以提供的最少代码,即您显示的代码可以通过您显示的代码扩展为不可以。 (调试基础。)
-
这个不清楚。你用什么语言编码? “->”和“因为两者之间存在关系”是什么意思?您对 FK 使用“关系”吗?关系模型中的关系(ship)是表。 FK 错误地被称为关系(船舶)。查询不需要约束(FK、PK 等),如果添加约束,则不能使正确查询无效。使用足够多的单词、句子和对部分示例的引用来清楚完整地表达你的意思。在给出关系(船舶)/关联或表(基础或查询结果)时,说明其中的一行根据其列值说明了业务情况。
标签: join multiple-columns