sql service的动态sql中包含子查询的有关问题
sql service的动态sql中包含子查询的问题
declare @F_Name nvarchar(50)--变量(当作字段用)
update #detail set @F_Name=sou.F_Value from
(select monthValue.UsingUnitID,monthValue.EnergyID,monthValue.F_Value from [dbo].[T_RPT_EnergyMonthValue] monthValue
where monthValue.UsingUnitID ='02E646A3-9B51-4C14-A4FF-1D0AF12DAB5F'
and monthValue.EnergyID ='7FC53DB1-B80F-4E2A-B7BE-292818F10D82'
and monthValue.F_Year = 2015 and monthValue.F_Month=7) sou
where sou.UsingUnitID=F_UsingUnitId and sou.EnergyID=F_EnergyId
------解决思路----------------------
楼主你不懂sql的转义符?
declare @F_Name nvarchar(50)--变量(当作字段用)
update #detail set @F_Name=sou.F_Value from
(select monthValue.UsingUnitID,monthValue.EnergyID,monthValue.F_Value from [dbo].[T_RPT_EnergyMonthValue] monthValue
where monthValue.UsingUnitID ='02E646A3-9B51-4C14-A4FF-1D0AF12DAB5F'
and monthValue.EnergyID ='7FC53DB1-B80F-4E2A-B7BE-292818F10D82'
and monthValue.F_Year = 2015 and monthValue.F_Month=7) sou
where sou.UsingUnitID=F_UsingUnitId and sou.EnergyID=F_EnergyId
------解决思路----------------------
楼主你不懂sql的转义符?
declare @F_Name nvarchar(50)
declare @sql nvarchar(max)
set @sql=
'update #detail set'+ @F_Name+'=sou.F_Value from
(select monthValue.UsingUnitID,monthValue.EnergyID,monthValue.F_Value from [dbo].[T_RPT_EnergyMonthValue] monthValue
where monthValue.UsingUnitID =''02E646A3-9B51-4C14-A4FF-1D0AF12DAB5F''
and monthValue.EnergyID =''7FC53DB1-B80F-4E2A-B7BE-292818F10D82''
and monthValue.F_Year = 2015 and monthValue.F_Month=7) sou
where sou.UsingUnitID=F_UsingUnitId and sou.EnergyID=F_EnergyId'
exec (@sql)