none
Sütunda sadece tekrar eden değerlerin olduğu kayıtları güncelleme RRS feed

  • Soru

  • İyi akşamlar,

    Yaptığım sorgu sonucu, sütunda birden fazla kez yer alan (tekrar eden) değerlerin olduğu satırlarda güncelleme yapmak istiyorum. Anlaşılması açısından basit bir örnek verecek olursam, 

    A sütununda;

    77,77,77,12,12,13,14,15,16,17,18,66,66,66,66,66,22,23,24,25 gibi değerlerin geldiğini (yani unique değerler olduğu gibi 3,4 veya 5 gibi farklı tekrar etme sayısına sahip değerler gelmekte) Bu değerlere karşılık da 'Active' gibi bir sütunda ise 0 ve 1 gibi değerler gelmekte.

    Benim yapmak istediğim şey, örnekte verdiğime göre 77,12,66 gibi değerlerin (tekrarlayan geldiği satırların tamamına ait 'Active' değerlerini güncellemek.

    Nasıl çözebilirim? Yardımlarınız için şimdiden çok teşekkür ederim.

    29 Eylül 2015 Salı 18:01

Yanıtlar

  • DECLARE @test TABLE( aSutunu INT, active BIT DEFAULT 0 );
    
    INSERT INTO @test( aSutunu )
    VALUES 
    ( 77 ), ( 77 ), ( 77 ), ( 12 ), ( 12 ), 
    ( 13 ), ( 14 ), ( 15 ), ( 16 ), ( 17 ), 
    ( 18 ), ( 66 ), ( 66 ), ( 66 ), ( 66 ), 
    ( 66 ), ( 22 ), ( 23 ), ( 24 ), ( 25 );
    
    UPDATE @test
           SET active = 1
    WHERE aSutunu IN( SELECT aSutunu
                      FROM @test
                      GROUP BY aSutunu
                      HAVING COUNT(*) > 1 );
    
    SELECT *
    FROM @test;

    29 Eylül 2015 Salı 20:24