Merhaba,
Aşağıdaki gibi bir tablom var. Bu tablodan LaptopID'ye göre tersten sıralanmış ve gruplanmış şekilde ilk 10 (tersten sıralandığı için son 10 oluyor) kaydı almak istiyorum. Bana gerekli olan kolonlar: "SayimBelgeNo,SayimAdi" Tek bir SQL ile yapılabilecek birşey midir?
CREATE TABLE TERMINAL_SAYIM(
LaptopId bigint IDENTITY(1,1) NOT NULL PRIMARY KEY,
DosyaAdi nvarchar(250) NOT NULL,
ElTerminaliKayitId bigint NOT NULL,
SayimBelgeNo nvarchar(30) NOT NULL,
SayimAdi nvarchar(30),
LokasyonKodu nvarchar(30) NOT NULL,
)
select SayimBelgeNo,SayimAdi from TERMINAL_SAYIM group by SayimBelgeNo,SayimAdi order by LaptopId desc
dediğimde LaptopId seçilen kolonların içinde olmadığı için bana kızıyor. Yukarıdaki gibi bir komut çalışsaydı ben kod ile ilk 10 kaydı ayıklardım. Ancak çalışmayınca takıldım.
SQL bilgim çok iyi olmadığı için işin içinden çıkamadım. Tamamı için Kod yazarak çözüm bulmak istemiyorum şu an için. Çok daha yavaş çalışır benim yazacağım kod.
Teşekkürler.
İyi çalışmalar,
Ertan Küçükoğlu
MS SQL yardımı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: MS SQL yardımı
Select top 10 * TERMINAL_SAYIM
Order by LaptopId desc
Şeklinde bir denermisin.
Order by LaptopId desc
Şeklinde bir denermisin.
Re: MS SQL yardımı
Örnek veri olmadığı için nasıl bir sonuç beklediğini bilemiyorum.
Kendin etüd edebilirsin. ile de bir dener misin...?
Kendin etüd edebilirsin.
Kod: Tümünü seç
Order By Max(LaptopId)
Re: MS SQL yardımı
Hocam çalıştı. Ama mantığını anlayamadım kendi adıma
Kullandığım SQL kodu aşağıdaki gibi:
select SayimBelgeNo,SayimAdi from TERMINAL_SAYIM group by SayimBelgeNo,SayimAdi order by Max(LaptopId) desc

select SayimBelgeNo,SayimAdi from TERMINAL_SAYIM group by SayimBelgeNo,SayimAdi order by Max(LaptopId) desc