Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 使用比较运算符连接事实和维度_Azure_Azure Sql Database_Data Warehouse - Fatal编程技术网

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”后面加一个逗号,那么就得到了一个交叉连接,这可以解释为什么看到的行比预期的多。请用一些样本数据发布一份更完整的报告。