SORU
13 Ocak 2009, Salı


T-SQL: satır katıldı üzerinden silmek için Seçimi

Senaryo:

Hadi iki tablo, TableA ve TableB var. TableB birincil anahtar tek bir sütun (Teklif) ve TableA yabancı anahtar sütun.

Benim durumda, belirli bir satır ile bağlantılı TableA tüm satırları kaldırmak istiyorum TableB: birleşimler ile bunu Yapabilir miyim? Bu çektiği tüm satırları sil katıldı.

DELETE FROM TableA 
FROM
   TableA a
   INNER JOIN TableB b
      ON b.BId = a.BId
      AND [my filter condition]

Ya ben bunu yapmak için zorladım:

DELETE FROM TableA
WHERE
   BId IN (SELECT BId FROM TableB WHERE [my filter condition])

Sormamın nedeni ilk seçenek daha büyük tablolarla uğraşırken çok daha verimli olurdu gibi geliyor bana.

Teşekkürler!

CEVAP
13 Ocak 2009, Salı


DELETE TableA
FROM   TableA a
       INNER JOIN TableB b
               ON b.Bid = a.Bid
                  AND [my filter condition] 

çalışması gerekir

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014
  • warningthepeople

    warningthepe

    21 EYLÜL 2011