c# - Show result of nested cursors as a single table in SQL Server -


in stored procedure shown below, have 5 cursors scroll data in several tables select information need while go through 1 of tables, using parameters of selection various columns of initial query shown in first cursor.

at end execute query result of cursors. final query shows result split in tables divided code of record identified id. although records belong same entity procedure shows divided tables , need impression shown single table able pass result asp.net gridview c#. procedure created in sql server 2012. await comments , thank you.

alter proc [dbo].[sp_presing]     @ident int    set nocount on  declare mi_cursor cursor      select p.idlinea, p.identidad, n.capitulo cap, n.nombre, p.anio, p.idingreso, c.tipo, c.conceptoobj, c.cuenta, c.subcuenta,             c.auxiliar, c.descripcion descaux, p.idotorgante, isnull(e.nombre, '') otorg, isnull(e.capitulo, '') capotor, p.idfuente,             f.fuente, p.idespecifica, t.fuenteespecifica claespecifica, t.descripcion espec, p.idorgfin, o.descripcion orgfin,             o.organismofin claorgfin, p.presoriginal original, p.ejecucionest ejecutado, p.proyectado     dbo.pre_pres_ingresos p      left outer join dbo.pre_cla_ing_gas_fin c on p.idingreso = c.idlinea      left outer join dbo.pre_cla_fuentefinanciamiento f on p.idfuente = f.idlinea      left outer join dbo.pre_cla_fuentefinanciamiento t on t.idlinea = p.idespecifica      left outer join dbo.pre_cla_orgfinanciadores o on p.idorgfin = o.idlinea      left outer join entidades.dbo.ent_tbt_entidades e on p.idotorgante = e.identidad      left outer join entidades.dbo.ent_tbt_entidades n on p.identidad = n.identidad     p.identidad = @ident open mi_cursor declare @idlinea int, @identidad int, @capitulo char(4), @nombre varchar(250), @anio char(4), @ing int, @tipo char(1),          @concepto char(1), @cuenta char(1), @subcuenta char(1), @auxiliar char(2), @descaux varchar(250), @idotorgante int,          @otorg varchar(250), @capotor char(4), @idfuente int, @fuente char(2), @idespecifica int, @claespecifica char(4),          @espec varchar(250), @idorgfin int, @orgfin varchar(250), @claorgfin char(4), @original decimal(18,2), @ejecutado decimal(18,2),          @proyectado decimal(18,2)  fetch next mi_cursor @idlinea, @identidad, @capitulo, @nombre, @anio, @ing, @tipo, @concepto, @cuenta, @subcuenta,                                 @auxiliar, @descaux, @idotorgante, @otorg, @capotor, @idfuente, @fuente, @idespecifica, @claespecifica,                                 @espec, @idorgfin, @orgfin, @claorgfin, @original, @ejecutado, @proyectado  while @@fetch_status = 0 begin        declare ctipo cursor         select tipo, descripcion pre_cla_ing_gas_fin tipo = @tipo , conceptoobj=''         open ctipo         declare @tipo2 char(1), @desc varchar(200)         fetch next ctipo @tipo2, @desc         while @@fetch_status=0         begin             fetch next ctipo @tipo2, @desc         end      close ctipo     deallocate ctipo  declare cconcepto cursor     select conceptoobj, descripcion pre_cla_ing_gas_fin tipo = @tipo , conceptoobj=@concepto , cuenta=''     open cconcepto     declare @concepto2 char(1), @desc2 varchar(200)     fetch next cconcepto @concepto2, @desc2     while @@fetch_status=0     begin         fetch next cconcepto @concepto2, @desc2     end  close cconcepto deallocate cconcepto      declare ccuenta cursor     select cuenta, descripcion pre_cla_ing_gas_fin tipo = @tipo , conceptoobj=@concepto , cuenta=@cuenta , subcuenta=''     open ccuenta     declare @cuenta2 char(1), @desc3 varchar(200)     fetch next ccuenta @cuenta2, @desc3     while @@fetch_status=0     begin         fetch next ccuenta @cuenta2, @desc3     end  close ccuenta deallocate ccuenta declare csubcuenta cursor     select subcuenta, descripcion pre_cla_ing_gas_fin          tipo = @tipo , conceptoobj=@concepto , cuenta=@cuenta , subcuenta=@subcuenta , auxiliar=''     open csubcuenta     declare @subcuenta2 char(1), @desc4 varchar(200)     fetch next csubcuenta @subcuenta2, @desc4     while @@fetch_status=0     begin         fetch next csubcuenta @subcuenta2, @desc4     end  close csubcuenta deallocate csubcuenta  fetch next mi_cursor @idlinea, @identidad, @capitulo, @nombre, @anio, @ing, @tipo, @concepto, @cuenta, @subcuenta, @auxiliar,                  @descaux, @idotorgante, @otorg, @capotor, @idfuente, @fuente, @idespecifica, @claespecifica, @espec, @idorgfin, @orgfin,                  @claorgfin, @original, @ejecutado, @proyectado      select @idlinea id, @identidad identidad, @capitulo capitulo, @nombre entidad, @anio anio, @ing idingreso, @tipo tipo, @concepto concepto,          @cuenta cuenta, @subcuenta subcuenta, @auxiliar auxiliar, @descaux desccuentaaux, @idotorgante idotorgante, @otorg desotor, @capotor capotor,         @idfuente idfuente, @fuente capfuente, @idespecifica idespe, @claespecifica claesp, @espec desespe, @idorgfin idorgfin, @orgfin desorgfin,          @claorgfin claorgfin, @original original, @ejecutado ejecutado, @proyectado proyectado, @tipo2 tipo2, @desc desctipo2, @concepto2 concep2,          @desc2 descconcep2, @cuenta2 cuenta2, @desc3 desccuenta2, @subcuenta2 sub2, @desc4 descsub2 end close mi_cursor deallocate mi_cursor[enter image description here][1] 


Comments

Popular posts from this blog

networking - Vagrant-provisioned VirtualBox VM is not reachable from Ubuntu host -

c# - ASP.NET Core - There is already an object named 'AspNetRoles' in the database -

ruby on rails - ArgumentError: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true -