v2.5.2
Giriş yap

Bulunmayan kayıtları tablolardan silme

munlu
820 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhabalar, benim 3 adet tablom var.

  • odemeler
  • satislar
  • musteriler

Müşteri id si yer almayan kayıtları satışlardan ve o satış id lerinide odemelerden silmek istiyorum.
Nasıl bir yol çizmeliyim eski kayıtları böylece yok etmek istiyorum.

Cevap yaz
Cevaplar (3)
tayfunerbilen
1618 gün önce

Şöyle bir örnek verebilirim;

musteriler tablosu

musteri_idmusteri_adi
1Test #1
3Test #3

satislar tablosu

satis_idsatis_musteri_id
11
22
32
41
53

odemeler tablosu

odeme_idodeme_satis_idodeme_tutar
11120
22200
33140
44150
5550

Bu tablolara göre 2 nolu müşteri silindi. Bir sorgu atarak müşteriler tablosunda bulunmayan satışları şöyle alabiliriz;

SELECT * FROM satislar
LEFT JOIN musteriler on musteriler.musteri_id = satislar.satis_musteri_id
WHERE musteri_id IS NULL

IS NULL ile kontrol ediyoruz, zaten müşteriler tablosunda olmadığı için NULL dönecek, artık sen biliyorsun hangi satışlar müşterisi olmayanlara ait. Buna göre satışları ve satış id'lerine göre ödemelerini silebilirsin.

Kolay gelsin.

munlu
1619 gün önce

@sukas aşırı yardımcı oldun ben bunu nasıl düşünemedim ya.

sukas
1620 gün önce

Tabloları birbirine eşitleyerek yapabilirsin. Sql inner join yazarak aratabilirsiniz. Kolay gelsin.