none
sql veritabanından en son tarihde ekleneni bulma RRS feed

  • Soru

  • Merhaba arkadaşlar. sql veritabanındakı eklenen A ürününden en son hangi tarihde (tarih ve saat olarak) ekleneni bulmam lazım. Bunun için böyle bir sorğu yapdım, ama boş geldi. Nasıl düzelde bilirim bu sql cümlesini

    select Vahid,Alis,Satis from Buys where cast(Tarix as datetime)
                                                     = (select max(cast(Tarix as datetime)) from Buys ) and ProductId = @id 

    10 Eylül 2016 Cumartesi 13:13

Yanıtlar

  • select Vahid,Alis,Satis from Buys where Tarix = (select max(Tarix) from Buys Where ProductId = @id) and ProductId = @id 

    Bu yukarıda ki senin yaptığın şeyin sorgusu ama şunu da deneyebilirsin en temizi bu olur diye düşündüm

    select Top 1 Vahid,Alis,Satis from Buys where ProductId = @id Order By Tarix Desc

    Bu sayede tarih büyükten küçüğe sıralanır ve sen 1 kayıt çekerek en büyük kaydı okumuş olursun.


    Fullstack Developer

    10 Eylül 2016 Cumartesi 13:30

Tüm Yanıtlar

  • Neden cast yapıyorsunuz alanınız datetime değil mi? yani varchar mı bu durumda alan doğru bir şekilde dönüşmez ise hata alırsınız yani çalışmaz. Ayrıca bu dönüşümü doğru şekilde yapsanız bile iç sorgu da da ProductId yi sorgulamanız gerekir dış sorguda olduğu gibi.

    Fullstack Developer

    10 Eylül 2016 Cumartesi 13:17
  • Cevapınız için teşekkür ediyorum. kolon tipi datetime. İç sorğuda nasıl yanı? Anlıyamadım. Rica etsen sql cümlesi ile göstere bilirmisiniz?
    10 Eylül 2016 Cumartesi 13:21
  • select Vahid,Alis,Satis from Buys where Tarix = (select max(Tarix) from Buys Where ProductId = @id) and ProductId = @id 

    Bu yukarıda ki senin yaptığın şeyin sorgusu ama şunu da deneyebilirsin en temizi bu olur diye düşündüm

    select Top 1 Vahid,Alis,Satis from Buys where ProductId = @id Order By Tarix Desc

    Bu sayede tarih büyükten küçüğe sıralanır ve sen 1 kayıt çekerek en büyük kaydı okumuş olursun.


    Fullstack Developer

    10 Eylül 2016 Cumartesi 13:30