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

  • friendz.net

    friendz.net

    29 EKİM 2010
  • steeletraining

    steeletraini

    28 NİSAN 2010
  • The Exploiteers

    The Exploite

    4 Ocak 2011