İlişkilendirilmiş Tablolarda, İkinci Tabloda Olmayanların Sorgusu

22/12/2023, 16:29

truhi

Merhaba,
Ekli database' de "Parties" ve "Customer" adlı iki tablo mevcut, bu iki tablo Customer ID ile ilişkilendirilmiş durumda;

"Customers without Parties" adlı sorguda Hangi müşterinin partisi yok onu nasıl bulabiliriz?
Özetle Parties tablosunda olmayan müşterileri bulmaya çalışıyoruz.

yardımlarınız için şimdiden teşekkürler,
iyi çalışmalar.
22/12/2023, 17:08

berduş

Inceleme imkanım olmadı ama kabaca aşağıdakine benzer bir yöntem işinize yarayabilir
Left/right join işlemiyle yapabilirsiniz
Sorgu olusturucuda sorguyu olusturuken ilişki türünü customers tablosundakilerin hepsi olarak ayarlayıp koşul kısmına parties.customerId=Null
22/12/2023, 17:15

truhi

(22/12/2023, 17:08)berduş yazdı: Inceleme imkanım olmadı ama kabaca aşağıdakine benzer bir yöntem işinize yarayabilir
Left/right join işlemiyle yapabilirsiniz
Sorgu olusturucuda sorguyu olusturuken ilişki türünü customers tablosundakilerin hepsi olarak ayarlayıp koşul kısmına parties.customerId=Null

Hocam "Parties" tablosunda hiç yazılı değil bu müşteriler,
"Customer" tablosunda olupta "Parties" tablosunda olmayanları bulmaya çalışıyoruz zaten
22/12/2023, 18:02

berduş

2 tablo CustomerID üzerinden ilişkili değil mi? bu durumda 2 tabloyu JOIN ile birleştirirken Customers tablosundakilerin hepsi alınıp koşu olarak da Parties.CustomerIDtablosundakiler çıkarılırsa sonuç sadece parti vermeyen müşteriler olur
aşağıdaki sorguyu dener misiniz?
Not ihtiyaç duyulan alanlar eklenebilir
SELECT Customers.CustomerID
FROM Customers LEFT JOIN Parties ON Customers.CustomerID = Parties.CustomerID
WHERE (((Parties.CustomerID) Is Null));
22/12/2023, 18:20

truhi

(22/12/2023, 18:02)berduş yazdı: 2 tablo CustomerID üzerinden ilişkili değil mi? bu durumda 2 tabloyu JOIN ile birleştirirken Customers tablosundakilerin hepsi alınıp koşu olarak da Parties.CustomerIDtablosundakiler çıkarılırsa sonuç sadece parti vermeyen müşteriler olur
aşağıdaki sorguyu dener misiniz?
Not ihtiyaç duyulan alanlar eklenebilir
SELECT Customers.CustomerID
FROM Customers LEFT JOIN Parties ON Customers.CustomerID = Parties.CustomerID
WHERE (((Parties.CustomerID) Is Null));

çok teşekkürler Hocam
iyiki varsınız
22/12/2023, 18:25

berduş

(22/12/2023, 17:08)berduş yazdı: Inceleme imkanım olmadı ama kabaca aşağıdakine benzer bir yöntem işinize yarayabilir
Left/right join işlemiyle yapabilirsiniz
Sorgu olusturucuda sorguyu olusturuken ilişki türünü customers tablosundakilerin hepsi olarak ayarlayıp koşul kısmına parties.customerId=Null
Rica ederim
iyi çalışmalar
Not : yukardaki mesajda ifade etmeye çalıştığım şeyi açıklayan resim aşağıdadır