1

我正在使用 Microstrategy,并且知道 Freeform SQL Report 功能。但是,我想更改 Microstrategy 生成其 SQL 的方式。

由于我使用的是 Infobright,我想使用子选择而不是完全连接等。示例:

Microstrategy 生成的查询: select b.colb, min(b.cold), sum(a.colb) from tablea a join tableb b on a.id = b.id group by b.colb

我希望它生成以下方式: select b.colb, min(b.cold), sum(a.colb) from (select id, sum(cold) from tablea a group by colb) join tableb b on a .id = b.id 由 b.colb 分组

是否可以修改生成器以采用这种方法而不是当前方法?或者,我必须使用自由格式生成器吗?

4

2 回答 2

2

在 Report->Go to VLDB Properties->Sub Query Type->select 6 th option->where col 1 in (select s1.col1..) fall back to exists (Select col1, col2...) for multiple columns IN

于 2012-08-26T16:46:37.453 回答
1

您可以通过更改 VLDB 属性(在报告级别或数据库实例级别)来更改 MSTR 生成 SQL 的方式。

在 VLDB 设置中,我认为您应该在 Tables 文件夹内的“Intermediate Table Type”上寻找“Derived Table”选项,但请查看 Tables 文件夹和 Query Optimizations 文件夹中的其他选项。

于 2012-05-19T17:30:21.737 回答