22,300
社区成员




SET @sql ='SELECT @a ='+@YDBH+',@b ='+@YDLX+' FROM '+ @tablename + ' WHERE pzbh in(select col from dbo.f_splitSTR('''+@IDs+''','',''))'
PRINT(@sql)
exec sp_executesql @sql,N'@a VARCHAR(100) output,@b VARCHAR(100) output', @a= @num OUTPUT,@b =@DD OUTPUT
SELECT @num,@DD
这样就好了,已经弄好了,谢谢了,
SET @sql ='SELECT @a ='+@YDBH+',@b ='+@YDLX+' FROM '+ @tablename + ' WHERE pzbh in(select col from dbo.f_splitSTR('''+@IDs+''','',''))'
PRINT(@sql)
exec sp_executesql @sql,N'@a VARCHAR(100) output,@b VARCHAR(100) output', @a= @num OUTPUT,@b =@DD OUTPUT
SELECT @num,@DD
这样就好了,已经弄好了,谢谢了,
百度看到假如这样:
SET @sql =N'SELECT '+@YDBH+' as YDBH,'+@YDLX+' as YDLX FROM '+ @tablename + ' WHERE pzbh in(select col from dbo.f_splitSTR('''+@IDs+''','',''))'
EXEC(@sql)
-------结果-----
-- YDBH,YDLXBH
-- H111, 18
那问下怎么调用这个结果的值啊
SET @sql ='SELECT @a ='+@YDBH+',@b ='+@YDLX+' FROM '+ @tablename + ' WHERE pzbh in(select col from dbo.f_splitSTR('''+@IDs+''','',''))'
PRINT(@sql)
exec sp_executesql @sql,N'@a VARCHAR(100) output,@b VARCHAR(100) output', @a= @num OUTPUT,@b =@DD OUTPUT
SELECT @num,@DD
这样就好了,已经弄好了,谢谢了,
SET @sql ='SELECT @a = @a +'+@YDBH+'+'',''+'+@YDLX+'+'';'' FROM '+ @tablename + ' WHERE pzbh in(select col from dbo.f_splitSTR('''+@IDs+''','',''))'
exec sp_executesql @sql,N'@a VARCHAR(max) output',@a=@num OUTPUT
--LLJYSQ131127006,044;LLJYSQ131126004,044;应该是这样的
--LLJYSQ131126004,044;exec输出后却变成这样了
我拼接到一块也是一条数据,不知道是什么情况导致的,确实里面有两条数据