HOLA:
CUANDO REALIZO LA SIGUUIENTE CONSULTA:
declare @numero decimal(5,0)
declare @contador decimal(15,0)
declare @cadenaa varchar(200)
declare @cadenab varchar(200)
declare @campoa varchar(300)
declare @campob varchar(300)
declare @consulta_sql nvarchar(500)
declare @cod_produ as varchar(20)
declare @tipo_p as varchar(1)
declare @tipo_r as varchar(1)
set @numero=3
set @contador=1
set @cadenaa=''
set @cadenab=''
set @cod_produ='1'
set @tipo_p='P'
set @tipo_r='R'
while (@contador<=@numero)
begin
if len(@contador)=1
begin
set @campoa= 'a.' + 'can' + '0' + cast(@contador as varchar(100))
set @campob= 'b.' + 'can' + '0' + cast(@contador as varchar(100))
end
else
begin
set @campoa='a.' + 'can' + cast(@contador as varchar(100))
set @campob='b.' + 'can' + cast(@contador as varchar(100))
end
if @contador=1
begin
set @cadenaa=@cadenaa + @campoa + ' + '
set @cadenab=@cadenab + @campob + ' + '
end
else
begin
set @cadenaa=@cadenaa + @campoa + ' + '
set @cadenab=@cadenab + @campob + ' + '
end
set @contador =@contador + 1
end
set @cadenaa=substring(@cadenaa,1, len(@cadenaa)-1)
print @cadenaa
set @cadenab=substring(@cadenab,1, len(@cadenab)-1)
print @cadenab
set @consulta_sql=''
set @consulta_sql= 'select a.codigo, (' + @cadenaa + ') - (' + @cadenab +
') from producto a, producto b ' + ' where a.codigo='
+ @cod_produ + ' and a.codigo=b.codigo and a.tipo=' + @tipo_p + ' and
b.tipo=' + @tipo_r
print @consulta_sql
execute sp_executesql @consulta_sql
me sale el siguiente error:
Servidor: mensaje 207, nivel 16, estado 3, línea 1
El nombre de columna 'P' no es válido.
Servidor: mensaje 207, nivel 16, estado 1, línea 1
El nombre de columna 'R' no es válido.
yo deseo
que la parte
a.codigo='P'
que aparezca asi pero solamente
sale
a.codigo=P
como haria para que apareciera solamente
a.codigo='P'
como puedo hacer
muchas gracias
CCALLOQUISPE
Leer las respuestas