【问题标题】:Writing SQL query from a given data model从给定的数据模型编写 SQL 查询
【发布时间】:2017-05-24 20:54:44
【问题描述】:

如果这个问题模棱两可,我提前道歉。我的 SQL 技能很弱,我不确定这个问题是否过于笼统而无法得到正确答案。

我正在开展一个项目,将报告从 Hyperion Interactive Reporting (IR) 转换为 OBIEE。我看到了 IR 中的数据模型,我正在尝试编写等效的 SQL 查询。

数据模型如下所示:

A --- = --- B --- = --- C
 \-- +=+ --/ \-- +=+ --/

= 表示内连接; +=+ 表示完全外连接。表B 内连接和完全外连接到表AC。所以我有四个连接,我正在尝试拼凑:

A join B on A.x = B.x
A full outer join B on A.y = B.y
B join C on B.x = C.x
B full outer join C on B.y = C.y

如果不指定我的数据的详细信息,是否可以编写与上述数据模型的行为相匹配的查询?如果是这样,这样做的正确/首选方法是什么?

【问题讨论】:

  • 简单地在一个查询中使用内连接并与完全外连接查询联合
  • @Ritesh Patel - 您介意展示我将如何编写此查询吗?我是 SQL 新手

标签: sql oracle reporting hyperion


【解决方案1】:

根据您的要求使用 union/union all

A join B on A.x = B.x
B join C on B.x = C.x

union

A full outer join B on A.y = B.y
B full outer join C on B.y = C.y

【讨论】:

  • 最后使用group by来做单条记录
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 1970-01-01
  • 2011-11-22
  • 1970-01-01
  • 2013-09-08
  • 2012-01-26
相关资源
最近更新 更多