SQL Server将一列命名为另一列';s选定值
我想使用所选结果作为新列名。例如:SQL Server将一列命名为另一列';s选定值,sql,sql-server,Sql,Sql Server,我想使用所选结果作为新列名。例如: SELECT [Table1].ID, [Table1].OptionOneValue AS [Table2].OptionOneName, [Table1].OptionTwoValue AS [Table2].OptionTwoName, [Table1].OptionThreeValue AS [Table2].OptionThreeName, FROM [Table1] INNER JOIN [Table2] ON [Table1].ID = [Ta
SELECT
[Table1].ID,
[Table1].OptionOneValue AS [Table2].OptionOneName,
[Table1].OptionTwoValue AS [Table2].OptionTwoName,
[Table1].OptionThreeValue AS [Table2].OptionThreeName,
FROM [Table1]
INNER JOIN [Table2] ON [Table1].ID = [Table2].ItemID
| ID | Screen Size | Cost | Service Date |
|:-----------|------------:|:------------:|:------------:|
| 1001 | 1920x1080 | NULL | 11-25-19 |
| 1002 | 2048×1080 | 400.00 | 11-26-19 |
| 1003 | NULL | NULL | 11-26-19 |
| 1004 | NULL | NULL | 11-27-19 |
| 1005 | 2048×1080 | 500.00 | 11-27-19 |
- 选项名称=屏幕大小
- OptionWoName=成本
- 选项重新命名=服务日期
这将不起作用,它会引发语法错误。这是与我所问问题最接近的另一个问题:您需要使用动态sql来实现这一点,因为列名必须在查询处理的解析阶段预定义,只有通过动态查询才能实现;然而,在大多数情况下,这种情况可能不值得推荐。例如,如果联接返回多对多,结果会发生什么变化,那么列名应该是什么,以及如何使用它?我会重新评估你试图解决的问题,然后写一个不同的脚本来解决这个问题