sql - SQL Server:将一行拆分为多行(值)
解决方案
我喜欢为此目的使用递归 CTE:
with cte as (
select name, name2, 1 as ind, value
from mytable
union all
select name, name, ind + 1, value
from cte
where ind < value
)
select name, name2, 1
from cte
option (maxrecursion 0);
如果您的数据不是太大,那么性能应该没问题。如果您有大量数据,那么您可能需要考虑使用数字表。
推荐阅读
- android - 当互联网不可用时,我可以在我的 Android 应用程序中显示天气状况吗
- android - 无法从 WebView Android 打开图库或文件管理器
- mysql - 有没有办法使用 ansible 连接 mysql 服务器并执行诸如执行 .sql 文件和各种 mysql 转储和恢复之类的操作?
- json - Json.NET IsValid with schema passing even though not matching
- android - 有没有办法读取小米(Redmi)的电池权限以进行后台进程?
- java - 当两个单独的应用程序使用同一个数据库时,Hibernate 一级缓存结果是否会过时?
- arangodb - Arangosh 和 Web UI 都无法访问 lodash 模块
- c++ - how to remove only one hyphen (first occurance) from the string(file name) in CPP?
- c - 在 Solaris 机器 5.11 上找不到 sys/fdio.h(软盘控制操作)
- react-native - 无法从反应导航工作中获取标签栏