SORU
1 AĞUSTOS 2010, Pazar


Sil Kimlikleri başka bir tablodaki bir maç olduğu satırları sql

bu konuda biraz yardım alabilir miyim lütfen. Bir tablo yetim girdileri silmek için çalışıyorum.

Bu şekilde 2 tablo var:

Tablo files:

| id | ....
------------
| 1  | ....
| 2  | ....
| 7  | ....
| 9  | ....

Tablo blob:

| fileid | ....
------------
| 1  | ....
| 2  | ....
| 3  | ....
| 4  | ....
| 4  | ....
| 4  | ....
| 9  | ....

Tablolar fileid ve kimlik sütunları tabloları birleştirmek için kullanılır.

Fileıd olamaz tabloda olduğu tespit tablosu blob files tüm satırları silmek istiyorum.

Böylece satır sil yukarıdaki örneği kullanarak: blob Tablo & 4 3(ler).

Herhangi bir yardım için teşekkürler.

CEVAP
1 AĞUSTOS 2010, Pazar


/NULL KATIL SOL kullanarak

DELETE b FROM BLOB b 
  LEFT JOIN FILES f ON f.id = b.fileid 
      WHERE f.id IS NULL

VAR DEĞİL kullanma

DELETE FROM BLOB 
 WHERE NOT EXISTS(SELECT NULL
                    FROM FILES f
                   WHERE f.id = fileid)

DEĞİL İÇİNDE kullanma

DELETE FROM BLOB
 WHERE fileid NOT IN (SELECT f.id 
                        FROM FILES f)

Uyarı

Mümkün olduğunda, gerçekleştirmek bir işlem içinde geri alma sorunları durumunda değişiklikleri geri almak için kullanabilirsiniz (farz - IE desteklenen Değil, hali hazırda) Siler.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dellbear816

    Dellbear816

    4 Mart 2008
  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011