create procedure spEtiketBarkodMiktaraGoreYazdir(@kullaniciNo int,@EkSql nvarchar(max))
as begin
 
 declare @strSql nvarchar(max)
 set @strSql='';
 if @kullaniciNo=0  
  set @strSql=@strSql+' select * into #tmpEtiketBarkod from EtiketBarkod where StokNo is not null '+@EkSql;
 
 else set @strSql=@strSql+' select * into #tmpEtiketBarkod from EtiketBarkod  where StokNo is not null '+@EkSql+' and KullaniciNo='+convert(varchar,@kullaniciNo)+'';

  set @strSql=@strSql+' declare @TEtiketBarkod table (NoId int ,StokNo int,StokKodu varchar(50),StokAdi varchar(500),Barkodu varchar(50),Miktari float,Fiyat float,KullaniciNo int ,KayitTarihi datetime,OzelKod varchar(50),Yazdirildi tinyint,ROWNUM int) '+
 ' declare @toplamKayit int  '+
 ' declare @sayi int '+
 ' declare @MiktarDetay int '+
 ' declare @sayiDetay int '+
 ' declare @stokNo int '+
 ' declare @NoId int '+

 ' declare @stokKodu varchar(50) ';
 set @strSql=@strSql+' set @toplamKayit=(select count(*) FROM #tmpEtiketBarkod ) ';
 set @strSql=@strSql+' set @sayi=0 '+
 ' while  @sayi<@toplamKayit  '+
 ' begin '+
 '   if (select count(*) from #tmpEtiketBarkod)=0 '+
 '	break '+
 ' select top 1 @stokNo=StokNo,@stokKodu=StokKodu,@NoId=NoId,@MiktarDetay=SUM(Miktari) '+
 '  from #tmpEtiketBarkod  '+   
 '  group by StokNo,StokKodu,NoId '+
 '  set @sayiDetay=0 '+
 '  while @sayiDetay<@MiktarDetay begin '+
 '    insert into @TEtiketBarkod(NoId,StokNo,StokKodu,StokAdi,Barkodu,Miktari,Fiyat,KullaniciNo,KayitTarihi,OzelKod,Yazdirildi,ROWNUM) '+
 '	 select top 1 NoId,StokNo,StokKodu,StokAdi,Barkodu,1 as Miktari,Fiyat,KullaniciNo,KayitTarihi,OzelKod,0 as Yazdirildi, '+
 '	 (@sayiDetay+1) as ROWNUM from #tmpEtiketBarkod '+
 '	 where StokNo=@stokNo  and StokKodu=@stokKodu and NoId=@NoId '+

 '   set @sayiDetay=@sayiDetay+1; '+
 '  end '+
 '  delete from #tmpEtiketBarkod where StokNo=@stokNo  and StokKodu=@stokKodu and NoId=@NoId '+
 '  set @sayi=@sayi+1; '+
 ' end '+
 ' drop table #tmpEtiketBarkod '+
 
 '  Select  Etiket.* '+
',STOKKARTI.*,StokFiyat.*, '+
' UlkeKoduAciklama=(select top 1 Aciklama from GRUP where GrupAdi=STOKKARTI.UlkeKodu)  '+ 
' FROM @TEtiketBarkod as Etiket '+  
' left join STOKKARTI on STOKKARTI.Kodu=Etiket.StokKodu '+   
' left join StokFiyat on StokFiyat.StokNo=Etiket.StokNo and StokFiyat.Kodu=Etiket.StokKodu ';


 exec(@strSql)
 end