Sql server 如何在子查询中将SELECT的值用作列名
我请求你的帮助,因为我不能决定这个问题的解决办法。我正在使用SQL Server 2014 我有这样一个问题:Sql server 如何在子查询中将SELECT的值用作列名,sql-server,subquery,Sql Server,Subquery,我请求你的帮助,因为我不能决定这个问题的解决办法。我正在使用SQL Server 2014 我有这样一个问题: SELECT event_id, CONCAT ('week', CHARINDEX('Y', weeks), '_date') AS num FROM CT_EVENT 返回表单的周数:week1\u date 此值是另一个表中的列的名称。我想做的是一个子请求来获取其中的值 SELECT week1_date FROM CT_CONFIG 我在寻
SELECT
event_id,
CONCAT ('week', CHARINDEX('Y', weeks), '_date') AS num
FROM
CT_EVENT
返回表单的周数:week1\u date
此值是另一个表中的列的名称。我想做的是一个子请求来获取其中的值
SELECT week1_date
FROM CT_CONFIG
我在寻找一种方法,在列名中“caster”一个字符串,而不实际查找
提前感谢您,并随时提供任何补充资料
Jérémy您不能在这里使用子查询,您需要使用动态sql,类似这样的东西
Declare @ColumnName SYSNAME
, @Sql NVARCHAR(MAX);
SELECT @ColumnName = CONCAT ('week', CHARINDEX ('Y', weeks), '_date')
FROM CT_EVENT
SET @Sql = N' SELECT ' + QUOTENAME(@ColumnName) + N' FROM CT_CONFIG;'
Exec sp_executesql @Sql;
您不能在这里使用子查询,您需要使用动态sql,类似这样的
Declare @ColumnName SYSNAME
, @Sql NVARCHAR(MAX);
SELECT @ColumnName = CONCAT ('week', CHARINDEX ('Y', weeks), '_date')
FROM CT_EVENT
SET @Sql = N' SELECT ' + QUOTENAME(@ColumnName) + N' FROM CT_CONFIG;'
Exec sp_executesql @Sql;
工作,但只有一排,我有52个星期。你有什么解决办法吗?@JérémyBloy你在最初的问题中只提到了一个,然后再发布一个问题,提出确切的要求,有人会帮助你,如果不在问题中加上我的标签,我会尝试回答。有效,但只有一行,我有52周的时间。你有什么解决办法吗?@JérémyBloy你在最初的问题中只提到了一个问题,在另一个问题上贴上确切的要求,有人会帮助你,如果不在问题中加上我的标签,我会尽力回答。