Azure 使用比较运算符连接事实和维度
我有一个包含Azure 使用比较运算符连接事实和维度,azure,azure-sql-database,data-warehouse,Azure,Azure Sql Database,Data Warehouse,我有一个包含datestart和enddate以及其他列的事实表。还有另一个维度有lowerdate和upperdate列和其他列 我们需要这样连接这两个表: select somecolumnsfromfactanddimension from fact f inner join dimension d on f.startdate <= d.upperdate and f.enddate >= d.lowerdate 选择一些列的要素和维度 根据事实f 内连接
datestart
和enddate
以及其他列的事实表。还有另一个维度有lowerdate
和upperdate
列和其他列
我们需要这样连接这两个表:
select somecolumnsfromfactanddimension
from fact f
inner join dimension d
on f.startdate <= d.upperdate
and f.enddate >= d.lowerdate
选择一些列的要素和维度
根据事实f
内连接尺寸d
在f.startdate=d.lowerdate上
fact
有70K条记录,dimension
有11K条记录,但整个查询返回近6亿条记录
有人能给我解释一下这种连接在哪种情况下有意义,以及如何最好地处理这种连接。您发布的查询不是合法的语法,因此很难猜测。如果在“fact f”后面加一个逗号,那么就得到了一个交叉连接,这可以解释为什么看到的行比预期的多。请用一些示例数据发布一个更完整的副本。您发布的查询不是合法语法,因此很难猜测。如果在“fact f”后面加一个逗号,那么就得到了一个交叉连接,这可以解释为什么看到的行比预期的多。请用一些样本数据发布一份更完整的报告。