• 08-01-2020, 19:10:45
    #1
    Merhaba, geçen sene finallerde aşağıdaki soru çıkmış. Acaba istenilenin olması için nasıl bir sorgu yazılması gerekiyor?



    Ayrıca:
    1) Fonksiyonlarda try catch yapısı kullanamayız. (5 Puan)
    a) Doğru b) Yanlış c) Söylenemez
  • 08-01-2020, 19:15:46
    #2
    Bu mu istediğiniz hocam;

    SET ROWCOUNT 1
    SELECT KategoriAd FROM Kategori
    WHILE @@rowcount > 0
    DELETE Kategori
    WHERE 1 <
    (SELECT count(*) FROM Kategori u
    WHERE Kategori.KategoriAd = u.KategoriAd)
    SET ROWCOUNT 0
  • 08-01-2020, 19:20:49
    #3
    Delete From tbl_Kategori Where Id Not In
    (
    Select MAX(Id)
    From tbl_Kategori
    Group By Adi
    )
  • 08-01-2020, 19:22:32
    #4
    İnternette gördüm de bunun tam mantığı nedir anlayamadım
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Delete From tbl_Kategori Where Id Not In
    (
    Select MAX(Id)
    From tbl_Kategori
    Group By Adi
    )
  • 08-01-2020, 19:24:15
    #5
    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    İnternette gördüm de bunun tam mantığı nedir anlayamadım
    Select kısmı ile başlayan kodlarda Adı içeriği aynı olanları gruplandirip bir tanesini alıyor. Delete kodu ile birlikte de grup dışında kalan kayıtları siliyor.
    • Lyra
    Lyra bunu beğendi.
    1 kişi bunu beğendi.
  • 08-01-2020, 19:28:34
    #6
    delete from tbl_Kategori where Id not in (select * from (select min(Id) from tbl_Kategori group by Adi) as x);