我们有一个包含两列的简单表,如下所示
+-------+-------+
| fname | lname |
+-------+-------+
| foo | bar |
+-------+-------+
我们还有另一个包含月份的表
+-------+
| month |
+-------+
| jan |
| feb |
| mar |
+-------+
我们的目标是得到一个表,如下所示:
+-------+-------+-------+
| fname | lname | month |
+-------+-------+-------+
| foo | bar | jan |
| foo | bar | feb |
| foo | bar | mar |
+-------+-------+-------+
为了得到这个表,我使用了一个cross join
,但是当数据增加时,提取时间也呈指数级增长。这应该是一个简单的数据复制,并且只需要在每行的末尾添加月份列,但是在幕后看起来更复杂。是否有其他方法可以更快地运行这个查询?
1条答案
按热度按时间jdgnovmf1#
资料
另一种方法是使用
Cross Apply
,但它比Cross Join
慢如果您第一个表只有一个行结构,那么请忽略交叉连接,而使用
value
和alias
或
dbfiddle