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ş:
Nasıl R veri referans ile bir satır si...
nasıl mysql tablodan bazı satır silmek...
Güvenli onları üzerinden yineleme sıra...
Her ikinci satır silmek için nasıl?Vim...
CSS metin seçimi devre dışı bırakmak i...