我需要提出以下情况。我需要一个.DATE_TIME字段来在括号中找到正确的列名称。因为每一天都有列,所以我需要根据SHIFT_TABLE计算日期。列名以'TPR'加上日期开头,例如TPR13
DECLARE @SQLText NVARCHAR(MAX) = ''
SELECT @SQLText += 'SELECT (SELECT '
SELECT @SQLText += ( 'TPR' + Convert(varchar,DATEPART(day,a.DATE_TIME) )
) +
' from SHIFT_TABLE as s Where s.id = a.id ) from MAIN_TABLE as a where a.id=''1'' and a.ay=''12'' and a.yil=''2018'' '
print @SQLText
我收到错误消息:不能绑定多部分标识符“ a.DATE_TIME”。
SHIFT_TABLE出现ID和TPR01,TPR02,... TPR31列 MAIN_TABLE出现id,ay,yil和DATE_TIME列
我必须从a.DATE_TIME开始计算一天。
因此,我尝试达到这样的结果,即从MAIN_TABLE中将SELECT(从SHIFT_TABLE选择SELECT TPR13作为s,其中s.id = a.id)作为其中a.id ='1'和a.ay = '12'和a.yil ='2018'
我该如何解决?非常感谢,
答案 0 :(得分:0)
DECLARE @SQLText NVARCHAR(MAX) = ''
SELECT @SQLText += 'SELECT (SELECT '
SELECT @SQLText += ( 'TPR' + Convert(varchar,DATEPART(day,a.DATE_TIME) )
) +
' from SHIFT_TABLE as s Where s.id = a.id ) from MAIN_TABLE as a where a.id=''1'' and a.ay=''12'' and a.yil=''2018'' '
FROM [YourTableWhere_DATE_TIME_Exists] AS a
print @SQLText