| Uğur1982 | 05.08.2005 - 12:59:32 |
| Merhaba arkadaşlar;
Hareket Tablosundaki veriler. Kod Adi Arac_No 1 ugur 1 4 irem 2 5 hayro 2 Çıkmasını istediğim şöyle bir liste. SahteArtanSayi Kod Adi Arac_No 1 1 ugur 1 2 4 irem 2 3 5 hayro 2 Yukarıdaki gibi ilk kayıttan itibaren 1 artarak gitmesini istiyorum... Bunu SQL de nasıl yapabiliriz... vt: Firebird 1.5 Teşekkür ederim... | |
| miskin | 05.08.2005 - 13:26:52 |
SELECT Kod, Adi, Arac_No, Count(Kod) as SahteArtanSayi From Harakettablosu Group by Kod Bilmem böyle birsey isine yararmi | |
| Uğur1982 | 05.08.2005 - 13:43:30 |
| Ne yazık ki olmuyor.Büyün satırlara aynı değeri atıyor.
Aslında bu Udf ile yapılabilir gibi geliyor. Rfunc Udf de IncDate.bunun benzeri bir Udf ile kolay yapılabilir.Ama onu da bulamadım... iyi günler.. | |
| t-hex | 05.08.2005 - 13:44:12 |
| Tek SQL cümlesi içinde nasıl yapılır bilmiyorum ama aklıma gelen tek yöntem bu işlem için bir generator oluşturmak (örneğin GEN_REC_NO) ve onun değerini bu sql'i çalıştırmadan önce 0 yapmak.
set generator GEN_REC_NO to 0; Sonra da SQL'ini şu şekilde değiştirmek select gen_id(gen_rec_no,1) as SahteArtanSayi,alan1,alan2 from table; Umarım yardımcı olur. | |
| Uğur1982 | 05.08.2005 - 13:52:41 |
| @t-hex teşekkür ederim. iyi günler... | |
| onaydin | 05.08.2005 - 13:55:17 |
| Başka veritabanlarında number, identity tarzı fonksiyonlarla satır numarası alınabiliyor. Firebird'de sanırım böyle bir fonksiyon yok ama zorlayarak bu şekle getirilebilir. Aklıma 2 yol geliyor ama boş yere uğraşmaya da gerek yok.
Delphi tarafında i = i + 1 gibi bir şekilde yazsanız daha kolay olur. | |
| onaydin | 05.08.2005 - 13:57:54 |
| Evet bunu dusunmemistim. Süper bir çözüm. | |
| cemarik | 05.08.2005 - 16:54:29 |
| Madem SQL Kısmında yapmak istiyorsun neden stored yapmıyorsun?
CREATE PROCEDURE PROC_ACTIONS RETURNS ( KOD VARCHAR(20), ADI VARCHAR(50), ARAC_NO INTEGER, SIRA INTEGER) AS BEGIN SIRA = 1; FOR SELECT Kod, Adi, Arac_No, FROM HAREKET_TABLOSU INTO :KOD, :ADI, :ARAC_NO; BEGIN SIRA = SIRA+1; SUSPEND; END END | |
| sadettinpolat | 05.08.2005 - 17:32:52 |
Başka veritabanlarında number, identity tarzı fonksiyonlarla satır numarası alınabiliyor.
2.0 da eklenmiş olması lazım.. | |
| Ali Erdoğan | 05.08.2005 - 18:31:17 |
Başka veritabanlarında number, identity tarzı fonksiyonlarla satır numarası alınabiliyor. Firebird'de sanırım böyle bir fonksiyon yok ama zorlayarak bu şekle getirilebilir. Aklıma 2 yol geliyor ama boş yere uğraşmaya da gerek yok.
Delphi tarafında i = i + 1 gibi bir şekilde yazsanız daha kolay olur. Sql server da bu numarayı barından değişkenin ismi nedir? | |
| Uğur1982 | 06.08.2005 - 09:58:20 |
Madem SQL Kısmında yapmak istiyorsun neden stored yapmıyorsun?
CREATE PROCEDURE PROC_ACTIONS RETURNS ( KOD VARCHAR(20), ADI VARCHAR(50), ARAC_NO INTEGER, SIRA INTEGER) AS BEGIN SIRA = 1; FOR SELECT Kod, Adi, Arac_No, FROM HAREKET_TABLOSU INTO :KOD, :ADI, :ARAC_NO; BEGIN SIRA = SIRA+1; SUSPEND; END END Evet bu da güzel bir çözüm..teşekkür ederim.. iyi günler... | |
| ng | 06.08.2005 - 11:41:56 |
| Benimde bölyle bir şeye ihtiyacım olmuştu. Delphi tarafında Query'i içerisinde calculated bir alan oluşturdum mesela sayi.oncalculated cısmında ibQuery1sayi.asinteger:=ibQuery1sayi.asinteger+1; demiştim olmuştu.
başarılar | |