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 » 12 Eyl 2006 02:30

calculated bi alana gore dbgridde sıralama yapmak istiyorum..bu mümkün mü?

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4319
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri » 12 Eyl 2006 03:13

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 » 12 Eyl 2006 03:22

veritabanı oracle 8i

ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 09:44
İletişim:

Mesaj gönderen ibrahimcoban » 12 Eyl 2006 10:52

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 08:15
Konum: İzmir
İletişim:

Mesaj gönderen doganzorlu » 12 Eyl 2006 11:12

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 » 13 Eyl 2006 09:13

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 03:44
Konum: İstanbul

Mesaj gönderen gkimirti » 13 Eyl 2006 11:20

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
Oğlum Yusuf'un yeni oyunu :mrgreen: Google Play üzerinde
Linear Minimalist Puzzle ve Smash Drift
👉 https://goo.gl/8S31tD 👈
👉 http://bit.ly/2OJos6P 👈

ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 09:44
İletişim:

Mesaj gönderen ibrahimcoban » 14 Eyl 2006 01:21

Ş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 » 28 Eyl 2006 10:12

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 08:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose » 29 Eyl 2006 03:11

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 02:22
Konum: Istanbul
İletişim:

Mesaj gönderen Mennan » 29 Eyl 2006 04:13

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: 4481
Kayıt: 10 Haz 2003 12:48
Konum: İstanbul

Mesaj gönderen rsimsek » 29 Eyl 2006 08:08

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