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

  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • Tina Chen

    Tina Chen

    26 Mayıs 2012
  • Top Gear

    Top Gear

    27 Mart 2006