假设我有表1和表2。
表1的列为(pkcol,Seq)。表2(pkcol,fkcol_from_Table1,details)
例如:
表1
pkcol | seq |
---|---|
10个 | 1 |
二十 | 二 |
三十 | 七 |
我的天 | |
我的天 |
表2
pkcol | fkcol_from_Table1 | 详细信息 |
---|---|---|
一百 | 10个 | R1 |
一百零一 | 10个 | R2 |
一百零三 | 二十 | R1 |
一百零四 | 三十 | R4 |
一百零五 | 三十 | R2 |
假设我的搜索条件是R1和R2,那么我想通过连接表2从表1中获得详细信息。从上面的例子中,使用搜索条件从表2中只获得100和101(pkcol),并使用外键连接从表1中获得“1”。
我可以使用oracle sql中的查询来实现这一点吗?
2条答案
按热度按时间mfpqipee1#
我知道上面是你希望连接表的方式,考虑到你必须拥有table2中的所有内容。对于那个查询,你可以在where子句中添加你需要的过滤条件。但是,我不清楚这些表要表示什么。你应该为两个表提供DDL,也包括PK和FK。它是一个多对多的关系吗?哪个表的主键被另一个引用,这将有几行引用相同的PK?一个一对零或一个关系似乎不像我好的数据库设计。如果没有一对多的关系,我宁愿只有一个表。
9o685dep2#
如果我理解正确的话,您希望包含'R1'和'R2'的行用于引用表1PK_COL的同一FK_COL。