小编Sal*_* K.的帖子

更好的方法来做到这一点(设置和调用参数)

我试图得到这个结果:

在此输入图像描述

这两行来自同一查询,但我必须复制结果(第一个称为“CLI”,第二个称为“CPA”)。

目前我用 UNION 来做:

WITH Temp AS (SELECT Code, Name, ...)

SELECT 'CLI' as RecordType, Code, Name, CONCAT('CLI', Name) as TechnicalName, ... FROM Temp
UNION ALL
SELECT 'CPA' as RecordType, Code, Name, CONCAT('CPA', Name) as TechnicalName, ... FROM Temp
Run Code Online (Sandbox Code Playgroud)

还有其他最有效的解决方案吗?因为大约有30列,所以现在代码很大。

我想到了这样的事情:

DECLARE @P_RecordType as char(3);

WITH Temp AS (SELECT Code, Name, ...)

SET @P_RecordType = 'CLI'
SELECT * FROM Temp
UNION ALL
SET @P_RecordType = 'CPA'
SELECT * FROM Temp
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

PS:我正在从“Microsoft SQL Azure (RTM) - 12.0.2000.8”查询 SSMS。

t-sql sql-server azure-sql-database

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

标签 统计

azure-sql-database ×1

sql-server ×1

t-sql ×1