【发布时间】:2013-05-01 01:41:28
【问题描述】:
我有这三张桌子。
表1:
Resource1
Resource2
Resource3
表2:
Period1
Period2
Period3
表3:
Resource1 Period1
Resource1 Period2
Resource1 Period2
Resource2 Period1
Resource2 Period1
Resource3 Period3
我需要得到这个结果:
Resource1 Period1
Resource1 Period2
Resource1 Period2
Resource1 Period3
Resource2 Period1
Resource2 Period1
Resource2 Period2
Resource2 Period3
Resource3 Period3
Resource3 Period1
Resource3 Period2
我尝试了外部连接,但没有效果。我发现交叉连接可能会有所帮助,但我没有成功实施它。能有这么好心的人帮我解决这些问题吗?
非常感谢, r.
【问题讨论】:
-
您能解释一下如何创建结果集的规则吗? “不必要的行”是什么意思?
-
很抱歉造成混乱。我将立即从描述中删除有关不必要行的注释。规则是: Table1 包含所有资源。表 2 包含系统中的所有开放期。表 3 包含在特定时期做出某事的资源。 (重复是可能的)每个资源都需要用他的名字提到所有的开放期,如果他已经在表 3 中提到了开放期,无论多少次,这些数据也必须在那里。所以结果:Table3 中的重复项应该在那里,并且当 Table2 中的一些开放时段丢失时,它们也应该在那里)。
标签: sql oracle cross-join