firebird order by hatası

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
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

firebird order by hatası

Mesaj gönderen ASE »

arkadaşlar merhaba bu kod ado da sorunsuz çalışıyo

Kod: Tümünü seç

SELECT * FROM YESILKART
ORDER BY YAKINLIGI ="KENDİSİ"
ama benim veritabanım firebird orda ise çalışmıyor

ise
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, char 19.
=.
veritabanı firebird d7
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: firebird order by hatası

Mesaj gönderen sadettinpolat »

ASE yazdı:

Kod: Tümünü seç

SELECT * FROM YESILKART
ORDER BY YAKINLIGI ="KENDİSİ"

böyle bir kullanımı ilk defa görüyorum
bu sqli ado ile hangi veritabaninda çalıştırıyorunuz?

ilgili kısmı ya

Kod: Tümünü seç

where yakinligi = 'KENDİSİ'
yapın ya da

Kod: Tümünü seç

order by yakinligi
yapın.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

@sadettinpolat
1- Mümkünse tekrar programlama kısmına taşı cevabı çünkü olay delphi tarafında çözümlenecek.
2- Where kullanımıyla ilgili değil soru. Burada bu kullanım şeklini ben access te her zaman kullanırım ve problem çıkmaz. Kullanım amacı da önce kendisi sonra diğerlerini sıralamaktır. İsteyen deneyip görebilir ben görmedim demekle olmaz.

Firebird e geçince benzer bişeye ihtiyaç oldu ve burada benzer kullanımı var mı diye sorduk.
İyi günler Kolay gelsin.
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

ASE yazdı:@sadettinpolat
1- Mümkünse tekrar programlama kısmına taşı cevabı çünkü olay delphi tarafında çözümlenecek.
2- Where kullanımıyla ilgili değil soru. Burada bu kullanım şeklini ben access te her zaman kullanırım ve problem çıkmaz. Kullanım amacı da önce kendisi sonra diğerlerini sıralamaktır. İsteyen deneyip görebilir ben görmedim demekle olmaz.

Firebird e geçince benzer bişeye ihtiyaç oldu ve burada benzer kullanımı var mı diye sorduk.
İyi günler Kolay gelsin.
access denen "şey" standart bir RDBMS değildir. wizard ve form tabanlı bir standalone PC veritabanıdır. azcık çok kullanıcılı kullanılabiliyor olması bişey değiştirmez, paradoxla aynı segmentte bir üründür.
önce "KENDİSİ" sonra diğerlerini sıralamak diye bir mantık yoktur.
eğer "kendisi" öncelikli bir veriyse, bunu öncelik kodu vererek halletmelisin. yarın "babası", "anası" arkadan gelsin derlerse bu sintaksın kanserojen yapısı ortaya çıkar. 2-5 opsiyonlu basit verilere özel sintaks geliştirmek ancak M$ e yakışır. dolar verene istediğini ver yaklaşımı..
ya da union selectler çekip önce kendisi olanları sonra da diğerlerini isteyebilirsin. ya da SP yazabilirsin. ben de böyle bir kullanım görmedim yaklaşık 20 senedir. VE, görmek de istemiyorum. :)
Firebird Foundation Member #208
http://www.firebirdsql.org
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

@Terminator
Ben access in RDMS olduğunu iddia etmedim, işimi görüyor da demedim. Bu yüzden probleme firebird tarafında çözüm aradım. BUrda siz 20 yıldır biliyorsunuz ben de 1 yıldır biliyorum. Bu sizin böyle bir hitapla burada ki diğer üyelere cevap verebileceğiniz anlamına gelmiyor
ben de böyle bir kullanım görmedim yaklaşık 20 senedir. VE, görmek de istemiyorum. :)


çözüm var yada yok ya da bilmiyorum demeniz yeterli idi.
Bu kullanım benim için hiç kanserojen bir vaka değil. Dediğin gibi onlarca değişkeni ardarda eklemek zorunda kalmadım. Kalsam belki başka çözümler de arardım ama bu haliyle benim işimi görüyor. Arda arda 2 ya da üç parametre verebiliyorum oluyor.

Kolay gelsin.
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

Terminator yazdı:ya da union selectler çekip önce kendisi olanları sonra da diğerlerini isteyebilirsin.
peki hocam bu nasıl olacak bu konuda bi açıklama yapabilirmisiniz.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

ALUCARD yazdı: bu nasıl olacak
viewtopic.php?t=11503&highlight=union

burdaki linkte örnek bir kullanım mevcut

Kod: Tümünü seç

select 1, kodu,sum(borc),sum(alacak) from tablo
where borc >0
union
select 2,kodu,sum(borc),sum(alacak) from tablo
where alacak >0
order by 1,2
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

select ADI,SOYADI,TCKIMLIK,YAKINLIK FROM KISI
WHERE ((YAKINLIK STARTING WITH 'Kendisi') OR (YAKINLIK  IS not null) or (YAKINLIK IS null) ) AND FORM5NO = 1
şimdilik böyle bir çözüm ürettim

inşallah başkalarının işine yarar
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

ALUCARD yazdı:
Terminator yazdı:ya da union selectler çekip önce kendisi olanları sonra da diğerlerini isteyebilirsin.
peki hocam bu nasıl olacak bu konuda bi açıklama yapabilirmisiniz.
select ADI,SOYADI,TCKIMLIK,YAKINLIK FROM KISI
WHERE YAKINLIK='KENDİSİ'
union all
select ADI,SOYADI,TCKIMLIK,YAKINLIK FROM KISI
WHERE YAKINLIK<>'KENDİSİ'
Firebird Foundation Member #208
http://www.firebirdsql.org
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

ASE yazdı:@Terminator
Ben access in RDMS olduğunu iddia etmedim, işimi görüyor da demedim. Bu yüzden probleme firebird tarafında çözüm aradım. BUrda siz 20 yıldır biliyorsunuz ben de 1 yıldır biliyorum. Bu sizin böyle bir hitapla burada ki diğer üyelere cevap verebileceğiniz anlamına gelmiyor
ben de böyle bir kullanım görmedim yaklaşık 20 senedir. VE, görmek de istemiyorum. :)


çözüm var yada yok ya da bilmiyorum demeniz yeterli idi.
Bu kullanım benim için hiç kanserojen bir vaka değil. Dediğin gibi onlarca değişkeni ardarda eklemek zorunda kalmadım. Kalsam belki başka çözümler de arardım ama bu haliyle benim işimi görüyor. Arda arda 2 ya da üç parametre verebiliyorum oluyor.

Kolay gelsin.
ASE,
yardım isteme tarzını ve tepkilerini gözden geçirmelisin.

ADO bir VT sistemi mi yoksa arayüz kompenenti mi?
ADO da çalışıyor da firebirdde çalışmıyor demek tuhaf bir ifade.
ben access kullandığını anlayamadım mesela...

Firebirdün bir sürü ücretsiz dökümanı var internette, language referance
pdf sine 2 dakika baksan böyle bir syntax olmadığını görürdün.
bir sorununu iletirken, detaylarını ver, biz müneccim değiliz, ya da
herkesi müneccecek vaktimiz yok.
nasıl yapmaya çalıştığını neğil ne yapmak istediğini açıkla.
bunlardan önce de kullandığın platform hakkında bilgi ver.

burada insanların ihtiyaçlarını Firbird ile nasıl karşılayabileceğimizi
konuşabiliriz, ama diğer muadil ve standart olmayan sistemlerle
mukayese yapamayız.
ayrıca ben sana access RDBMS değildir demedim, cümlelerimi eksik aktarma,
standart bir çok kullanıcılı sistem değildir dedim. standartları uluslarası
SQL komiteleri vs belirler. benim keyfi bir yorumum yok burada.
bir ürün standartların üzerinde olabilir ama standartlara aykırı olması
farklı bir durum.

order by matematiksel bir sıralama koşuludur. artan ya da azalan.
bunun dışında bir keyfi sıralama istiyorsan ya ayrı bir sayısal öncelik sahası açarsın ya da o karakter sahalarının başında sıraya sokan karakterler kulanırsın.
'1-KENDİSİ'
'3-ÇOCUĞU'
'5-BABASI' ... gibi.

sana da kolay gelsin.
Firebird Foundation Member #208
http://www.firebirdsql.org
Cevapla