-4
加入我在Oracle中这些表怎么办多对多在Oracle
表A
ID GROUP NUMBER1
1 CAT1 0.4
2 CAT2 0.5
表B
ID VALUE1 VALUE2
1 5 9
1 6 10
2 7 11
2 8 12
表C
ID NUM1 NUM2
1 13 17
1 14 18
2 15 19
2 16 20
如何我可以加入所有三张牌桌吗?看起来像这样?
ID GRUP NUMBER1 VALUE1 VALUE2 NUM1 NUM2
1 CAT1 0.4 5 9 13 17
1 CAT1 0.4 6 10 14 18
2 CAT2 0.5 7 11 15 19
2 CAT2 0.5 8 12 16 20
目前我做
select group, number1, value1, value2, num2, num2
from tablea a inner join tableb b inner join a.id = b.id
inner join tablec inner join c.id = a.id
和我得到许多重复的行。
当我将表A连接到表B时,我得到6行。那很好。我内心加入这些表上的ID。
现在我只想仍然有6行,但我想通过再次加入ID在TABLE C num1和num2中引入列。所以我想要有6行全部通过ID与输出中的列连接。
通过什么逻辑将一个表与另一个表中的(13,17)配对(5,9),并将它们分开(6,10)和(14,18)?为什么不(5,9)与(14,18)和(6,10)配对(13,17)?如果问题本身没有明确的定义(这意味着,**以简单的英语**,不需要任何代码)就不可能编写代码来解决问题。 – mathguy
*多对多*根据定义意味着您将获得*许多多行*。另外,您提供的数据与您要求获得的输出之间没有关联。你需要用精确的术语清楚地解释*你希望数据从单个表格得到的结果到你要求得到的结果。在解释时,请记住,我们知道*除了您在帖子中说的内容外*您绝对没有*想要做什么;我们无法弄清楚你想要做什么。所以**要具体清楚**你期望如何得到结果。 –