sql - 在包含数字 1 到 1000 的视图中创建临时表
问题描述
我需要在一个视图中创建一个临时表,该表有一列的编号为 1 到 1000。关于如何执行此操作的任何想法?
我正在使用 SQL Server。
谢谢。
解决方案
计数表解决方案是最好的(因为有索引),但如果您没有并且需要一个,您可以在紧要关头使用通用表表达式。
我通常使用 ROW_NUMBER() 和 sys.columns 表。如果我需要很多行,我会交叉连接回 sys.columns。
create view dbo.SomeView as
with Tally as (
select top(1000) row_number() over (order by A.object_id) as N
from sys.columns A
cross join sys.columns B -- If you need LOTS of rows, you add more cross joins
)
select *
from something
join Tally on Tally.N = something.N;
推荐阅读
- r - 在 Google 地图上显示物业的位置
- gcc - Homebrew 链接失败,机器上已有不兼容的 i386 文件
- python - VPS 上的 python-selenium 脚本下载 pdf 文件
- python - 网络浏览器在键盘命令完成之前打开。我想等到键盘命令完成后再打开浏览器
- html - 在没有 *Ngfor 的情况下显示数据
- javascript - 寻找一种将粘贴按钮放在 textarea 占位符中的方法?(javascript)
- python - 将数据框导出到工作簿中的现有 Excel 工作表会破坏其他工作表中的数据透视切片器连接
- javascript - 如何在 JavaScript 中读取上传的文件
- python - 写入 /var/www/ 文件夹的权限被拒绝
- google-play - 取消 App 和 Play 商店的订阅