calculated alana göre sıralama yapmak

Oracle veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

calculated alana göre sıralama yapmak

Mesaj gönderen filiz »

calculated bi alana gore dbgridde sıralama yapmak istiyorum..bu mümkün mü?
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
v.t. nedir?
ona göre sonuç değişir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

Mesaj gönderen filiz »

veritabanı oracle 8i
ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 10:44
İletişim:

Mesaj gönderen ibrahimcoban »

Bu kullandığın database bağlantı tipine (Ado,BDE, dbexpress..) göre değişir ama hepsinde kullanabileceğin

ClientDataSet1.IndexFieldNames:='ALANADI'
doganzorlu
Kıdemli Üye
Mesajlar: 395
Kayıt: 22 Tem 2004 09:15
Konum: İzmir
İletişim:

Mesaj gönderen doganzorlu »

Selam,

Hesaplanan sahaları da içeren bir view oluşturup bunu veri kaynağı olarak kullanmalısınız.

Kolay gelsin..
Doğan Zorlu, İzmir

------------------------
"Bu Kitap'ı sana yalnız şunun için indirdik: Hakkında ayrılığa düştükleri şeyi onlara iyice açıklayasın ve Kitap, iman eden bir topluluk için kılavuz ve rahmet olsun." (NAHL 64)
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

Mesaj gönderen filiz »

teşekkurler...
ucretliproje tablom var..bunun kodu diye bir fieldı var
içideki degerler soyle
2002-32-57
2003-36-55
2004-33-37
2005-32-34
calculated alanı asagıdaki gibi hesaplanıyor

Kod: Tümünü seç

procedure TAnaSayfa.qucretliCalcFields(
  DataSet: TDataSet);
var
s,y:string;
begin
  s:=qucretliKODU.AsString;
  delete(s,6,2);
  qucretliSIRA.AsString:=s;
end;
ve calculated alandaki degerler soyle oluyor
2002--57
2003--55
2004--37
2005--34
calculated alanı delphi tarafında boyle hesaplatabiliyiyorum ama yani benim calculated alanım iki kolonun toplanması yada birleşimi gibi bişey olmadıgı için db tarafında view içinde nasıl yapıcam..
db tarafındada delete gibi function mı kullanmalıyım?
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

query ile yapabilirsiniz, sorgu icinde bu hesplamaları yapıp
order by ile sıralama yapabilirsiniz.
eger query bilesenini tablo gibi kullanacaksanız (veri girisi / degiştirme / silme) updatesql bilesenini inceleyin.
ÜŞENME,ERTELEME,VAZGEÇME
ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 10:44
İletişim:

Mesaj gönderen ibrahimcoban »

Şunun gibi yapabilirsin

Kod: Tümünü seç

select (substring (alan from 1 for 5)||substring (alan from 8 for 2)) as ALAN,.. from tablo
order by substring (alan from 1 for 5)||substring (alan from 8 for 2)
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

Mesaj gönderen filiz »

Kod: Tümünü seç

with qucretli do
  begin
    SQL.Text:='select *,substr(ucretliproje.kodu,1,5)||substr(ucretliproje.kodu,9,3) as sira from ucretliproje  
SQL.Add(' order by SIRA');
    Open;
  end;
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

sql substr(ucretliproje.kodu,1,5) şeklinde kabul ediyor mu ?
yoksa substr(ucretliproje.kodu from 1 for 5) mi olması gerekiyor
Mennan
Üye
Mesajlar: 144
Kayıt: 22 Haz 2004 03:22
Konum: Istanbul
İletişim:

Mesaj gönderen Mennan »

yakgul yazdı:sql substr(ucretliproje.kodu,1,5) şeklinde kabul ediyor mu ?
yoksa substr(ucretliproje.kodu from 1 for 5) mi olması gerekiyor
substr, Oracle içinde tanımlı bir fonksiyondur. Standart SQL içinde böyle bir komut yoktur. 1 ve 5 parametreleri, 1.karakterden itibaren 5 karakter al demektir.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

substr şeklinde olmasa da benzer fonksiyonlar bir çok veritabanında vardır. Firebird de de substring(str_alan from başlangıç for alınacak_adet) şeklinde kullanılabilmektedir :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla