Sql select ile aynı kodda 10 tane goster

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Sql select ile aynı kodda 10 tane goster

Mesaj gönderen musti »

Firebird de soyle bir seyi nasıl yapabiliriz
aynı fis_no dan 10 satır gostersin

fisno =1 ise

Select fisno from table
where fisno=1;
dediğim zaman
bu nu nasıl yapabilirim.


ekrana 10 tane 1 yazsın
1
1
1
1
1
1
1
1
1
1
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kod: Tümünü seç

Select first 10 fisno from table
where fisno=1; 
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

hocam fisno zaten 1 tane var yani 1 ile baslayan ilk 10 kaydı istemiyorum.
sadece ekrana 10 kere fisno yazsın istiyorum
sayet fisno =2 demişssen ekrana 10 adet 2 yazsın istiyorum
bunu istemem dekiş sebeb fast reporda da kolan ayarı yapamadım yani yan -yana 10 adet aynı barkod dan basamadım o yuzden boyle bir yol dusundum. datasetde 10 date 1 olursa fastrepor da 10 kere 1 yazacak

tks ederim
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

10 sayısı sabitse 10 tane alt alta aynı fielddan yerleştirerek yapabilirsin fast reporta.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

hayır 10 sabit değil
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kullandığın raporlama aracında tekrarlama ile ilgili bir seçenek var mı bilemiyorum fakat bu tip işleri vertabanında yapmak daha mantıklı olur.

1. for / do döngüsü ile istediğin sayıdaki kayıtı bir MemTable e ekleyebilirsin. Sonra raporlamada bu MemTable ili kullanırsın

2. VT de yazacağın bir SP ile sorguyu alıp parametre olarak göndereceğin satır sayısı ile aynı kayıt bilgilerini tekrarlatabilirsin.

Kod: Tümünü seç

create procedure SP_NP(sayi integer)
returns (satir integer, xID integer, xAd varchar(30))
as
begin
  select id, ad from stok
  where id = 2 -- şart her ne ise..
  into xID, xAd;
  satir = 1;

  suspend;
  while (satir < sayi) do
  begin
    satir = satir + 1;
    suspend;
  end
end
Bu SP yi de IBQuery ile tablo gibi kullanacaksın :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Ben de farklı bir bakışaçısı getireyim...
Kayıt sayisinin 10 dan fazla olduğu kesin olan başka bir tablonuz muhakkak vardir... O tabloyu amacınıza alet edebilirsiniz... Mesela SEHIR tablosu

Kod: Tümünü seç

Select first 10 F.fisno
from FIS F, SEHIR S
where F.fisno=1
Ikı tabloyu join yapınca kartezyen carpimdan dolayı iki tablonun kayıt sayilarinin carpimi kadar sonucunu olur ilk 10 tanesi de isinizi gorur bu durumda....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

ya fahrettin abi kesin seni bir yerde bulup elinizi opmem lazim .

aynen dediginiz gibi ama bir sıkıntım var eger boyle bir table silinmisse veya yeni giris yapılıyorsa sorun olacak ama bu isimi simdilik goruyor

allah razı olsun
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Estağfirullah.....
işinizi görmesine sevindim.... :)
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Cevapla