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

  • Metheud

    Metheud

    9 EYLÜL 2006
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009
  • Vortez

    Vortez

    27 Temmuz 2009