在oracle SQL中链接表的问题

时间:2014-03-18 17:52:29

标签: sql database oracle

我有两个表,为简单起见,我们将它们称为表A和表B.表A包含2行值,表B包含4行值。表A通过外键约束链接到表B,该外键约束链接到表B的主键。但是,如果我尝试运行一个查询,从这两列中选择每一行,对于表A中的每一行,它会遍历表B中的每一行,例如:

  • AValue1 - BValue1
  • AValue1 - BValue2
  • AValue1 - BValue3
  • AValue1 - BValue4
  • AValue2 - BValue1
  • AValue2 - BValue2
  • AValue2 - BValue3
  • AValue2 - BValue4

我的桌子有问题吗?或者是查询错误的情况?

2 个答案:

答案 0 :(得分:1)

从表a,表b中选择a.colA,a.colB,b.colA,b.colB,b.colC,b.cold,其中a.colA = b.colA;

假设colA应该是每个表中的主键/外键。

答案 1 :(得分:0)

试试这个:

(使用正确的列名更改ColumnValue,NameOfForeignKey和PrimaryKey)

解决方案1:

SELECT TableA.ColumnValue, TableB.ColumnValue
FROM TableA 
INNER JOIN TableB ON TableA.NameOfForeignKey = TableB.PrimaryKey

解决方案2:

SELECT TableA.ColumnValue, TableB.ColumnValue
FROM TableA, TableB 
WHERE TableA.NameOfForeignKey = TableB.PrimaryKey