1

Konu: Foxpro 8.0 öncesi SQL mantığı

Hatırlarsanız  Foxpro 8.0 dan önce sql kullanımında group yaptığımız alanlar dışında bir alan yazdığımızda o alandaki ilk kaydı getiriyordu. Bu sql mantığına uymadığı için 8.0 da kaldırıldı. 8.0 dan sonra hata vermeye başladı... Bu konuyu Çetin abi iyi bilir. Mantığını bana o öğretmişti.

Şimdi sql server da bu bana lazım. Nasıl yapabilirim ? (grup yaptığım alandan farklı bir alanı select e eklemeliyim ve tablo içindeki ilk kaydı vermeli)

2 Son düzenleyen, altun (28.02.2007 16:02:14)

Re: Foxpro 8.0 öncesi SQL mantığı

** her grupta group by dışında getirilmesi gereken fieldlar max veya min değerler içeriyorsa
** aşağıdaki şekilde kullanılabilir.

Visual Fox Pro
select field1,  max(field2) field2 from table1 group by field1

** Bu field max veya min değer gibi herhangi bir kurla bağlı olmayıp sadece ilk kayıtdaki değer ise  tablo içinde kayıtların sırasını gösteren bir field olması gerekiyor.

** sirano yerine sqlservarda kayıt sıran umarasını veren bir field varsa o kullanılabilir.
** sirano uniq bir değer içermeli

Visual Fox Pro
select field1, field2 from table1 where sirano in (select min(sirano) from table1 group by field1)

3

Re: Foxpro 8.0 öncesi SQL mantığı

Okan,
Ilk degil son kaydi getiriyordu:)

Soru tam anlasilmiyor. Nasil bir datadan ne almaya calistigini gosterebilir misin.

4

Re: Foxpro 8.0 öncesi SQL mantığı

Tarkan'ın asagidaki topicte yazdigi gibi

http://www.fox4um.com/viewtopic.php?id=285

Aslında hata sıralamayı yapacağı sahanın son oluşan tabloda olmamasından kaynaklanıyor.

acıklamasindan yola cikarak konu daha anlasilabilir saniyorum . Topicte ki Tarkan ın yapmış oldugu kod karsilastirmasi incelenirse daha rahat anlaşılacaktır.