小编son*_*ler的帖子

带有附加信息的 SQL 交叉应用

我有一张与此类似的表

ID | InvoiceNum | Client1 | Client2 | Client3 
1    123          Test2
2    1234         Abc                 Test1  
3    12345                  TestC
Run Code Online (Sandbox Code Playgroud)

我想搜索所有 3 个客户端字段并返回到单个列,其中包含它源自哪个字段的一些附加信息。

ID | InvoiceNum | Client | Position
1    123          Test2    1
2    1234         Test1    3
3    12345        TestC    2
Run Code Online (Sandbox Code Playgroud)

这是我的 SQL 查询

Select id, invnum ,Client
From myTable A
Cross Apply (values (client1) ,(client2) ,(client3) ) B(Client)
Where Client like '%test%'
ORDER BY invnum
Run Code Online (Sandbox Code Playgroud)

使用交叉应用,我可以将所有内容放入一列,但不确定是否/如何获得该职位?

sql sql-server

1
推荐指数
1
解决办法
27
查看次数

标签 统计

sql ×1

sql-server ×1