sql - 如何在 SQL Server 中的交叉应用联接中指定列名
问题描述
我想知道我们如何在 Cross Apply Join 中提及列名并指定表名
已经工作的查询:
select v.*, left(v.dir, charindex('/', v.dir) - 1) as dirname
from (values ('/Directory_A/Directory_B/Directory_C/Folder1/Folder2') ) t(path) cross apply
(values (stuff(t.path, 1, len(t.path) - charindex(reverse('Directory_'), reverse(t.path)) + 1, ''))) v(dir)
预期查询:
select v.*, left(v.dir, charindex('/', v.dir) - 1) as dirname
from (values (“ColumnName”) ) t(path) cross apply
(values (stuff(t.path, 1, len(t.path) - charindex(reverse('Directory_'), reverse(t.path)) + 1, ''))) v(dir) from table name
解决方案
我认为您只需要表格参考:
select v.*, left(v.dir, charindex('/', v.dir) - 1) as dirname
from <tablename> tab cross apply
(values (tab.ColumnName) ) t(path) cross apply
(values (stuff(t.path, 1, len(t.path) - charindex(reverse('Directory_'), reverse(t.path)) + 1, ''))) v(dir) from table name
推荐阅读
- rest - 从 REST /entries 端点返回完整条目还是仅返回每个条目的 id 和标题?
- svm - 如何绘制支持向量回归的支持向量?
- c - 按下键盘后如何终止正在执行的程序
- java - PicoCLI:混合的依赖和排他参数
- python - 匹配的查询不存在 django heroku
- android - 如果添加 Splashscreen,Flutter 中其他屏幕的状态栏不会显示
- python-3.x - UnicodeDecodeError:“utf-8”编解码器无法解码位置 3799 中的字节 0x90:无效的起始字节
- laravel - 在 laravel 中读取电子表格(Excel 文件)的更好方法是什么?
- c# - 用于自定义验证的 ValidationAttribute 无法检查 null 或空(服务器端)
- helidon - 如何使用 OIDC 在 helidon 中断言 OAM 令牌?