如果我有
表A,B,C
A和B有关系 B和C有不同的关系
我看不到A和C之间的相关栏目 但是我希望将A和C中的列组合起来......
有办法吗?这在逻辑上是否有意义?
答案 0 :(得分:2)
是的,它在逻辑上是有意义的。
因为A涉及B和B涉及C - >然后A与C相关,即Transitive Relationship
。
你可以通过B加入A和C之间,即加入A加B,然后加入B加C
select A.*
from A
inner join B on A.somecolumn = B.somecolumn
inner join C on C.somecolumn = B.somecolumn
其中somecolumn
是联接表之间的公共列或相关列
答案 1 :(得分:1)
说,表A& B有共同的AB栏和表B& C有一个公共列BC,然后你可以使用类似下面的查询(表B将有AB列和BC列,而A只有AB而C只有BC):
select A.*, C.*
from A
join B ON A.AB = B.AB
join C ON B.BC = C.BC