我在 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
两者都是正确的结果,但是第二个查询应该返回不止一行,至少也应该返回第一个查询的结果。
有谁知道这里出了什么问题?
提前致谢, 索伦