【问题标题】:Apache Kylin: query does not return full resultApache Kylin:查询不返回完整结果
【发布时间】:2016-08-15 13:19:53
【问题描述】:

我在 Apache kylin 中创建了一个多维数据集,其中“ft”是我的事实表,“ls”是维度表之一。两者都连接在“盖子”列上。我的查询

select ft.sid, ls.lid, ls.pos
from(
    select sid, lid
    from ft
    where lid = '1500221'
    group by lid, sid
) as ft inner join (
    select lid, pos
    from ls
    where pos = '14'
) as ls on (ft.lid = ls.lid)

返回一行

1500 1500221 14

到目前为止,一切都很好。省略第一个 where 条件,我的结果也是一行,但这次是另一行...

select ft.sid, ls.lid, ls.pos
from(
    select sid, lid
    from ft
    group by lid, sid
) as ft inner join (
    select lid, pos
    from ls
    where pos = '14'
) as ls on (ft.lid = ls.lid)

返回

0140 0140110 14

两者都是正确的结果,但第二个查询应该返回不止一行,并且至少也返回第一个查询的结果。

有谁知道这里出了什么问题?

提前致谢, 索伦

【问题讨论】:

    标签: sql apache kylin


    【解决方案1】:

    你可能在处理子查询时遇到了 Kylin 的失败。

    但是,为什么在不需要的地方使用子查询呢?下面的简单查询应该可以满足您的需求。

    select sid, lid, pos
    from ft
    inner join ls on ft.lid = ls.lid
    where pos = '14'
    group by lid, sid, pos
    

    【讨论】:

    • 试图通过预先对 ft 分组来减少连接,并且想知道这种行为。您的查询工作正常。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 2020-06-05
    相关资源
    最近更新 更多