Skip links

Duplicate kayıtları sql’den silmek


Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118
Duplicate kayıtları sql’den silmek
Örneğin ETGQUOTADETAILTABLE tablosunda DATAAREAID, REFRECID, ROWNUM’dan oluşan unique indexe göre sonradan eklenmiş kayıtları silmek için:

DELETE FROM ETGQUOTADETAILTABLE WHERE
(RECID NOT IN
(SELECT MAX(RECID) AS recs
FROM ETGQUOTADETAILTABLE AS detailTable
GROUP BY DATAAREAID, REFRECID, ROWNUM))
NOT: Kayıt 2den fazla tekrar gösteriyorsa gösterdiği tekrar kadar scripti çalıştırmak gerekir.

Opinions

  1. Post comment

    Merhaba Fatih Bey;
    Paylaştığınız yazıyı okudum Fakat başka bi konuda problem var axapta üzerinden Silinemeyen bir tablo verisine SQL üzerinden ulaşıp silmek mümkünmüdür ve mümkünse nasıl bir yol izlemeliyim ?
    İyi ÇAlışmalar…

    Permalink
    1. Post comment

      Tabiki mümkündür. Sql serverda normal durumda yapabildiğiniz butun işlemleri AX db’si içinde yapabilirsiniz. Ancak Ax’in iş mantığını devre dışı bıraktığınız için ve recID gibi bir alan olduğu için eklemeden uzak durmalısınız . Update ve delete işlemlerini yapabilirsiniz.
      Ancak dikkatli olmalısınız backup almanızı tavsiye ederim. Çok elzem olmadığı sürece kesinlikle direk db de işlem yapmamalısız.

      Permalink

Join the Discussion