Merhabalar, Bir konuda yardımlarınızı rica ediyorum.Customer,Addressmapping ve Address isimli 3 tablom var. Örneğin Cus=1 müşterisinin adresine ulaşmak için addressmaping ile join yapıyorum ve adressid bilgisine daha sonrada address tablosuna join yapıp adres bilgisine ulaşıyorum.
Addressmapping tablomda Cus=1 müşterisi için birden fazla adresid olabilir ve bunlardan sadece birinin adresid sini getirmeli ve aşağıdaki maddelerdeki kriterlere göre getirmelidir. Ben customer tablosunu addressmaping ile join yaptığımda örneğin adresidsi recordtype=1 ve adrestype=0 varsa bu adresid yi bana getirsin,eğer addressmapingde sadece bir adresi varsa ve bu adresid recordtype=1 adrestype=1 ise yine bu adresid de getirsin gibi şartlar aşağıda belirttiğim gibi olacaktır.Ayrıca status=0 olan adresid leri getirecektir.
Addressmapping tablosunda;
RecordType=1 ve AdressType=0 şeklinde tek adresID varsa veya bu adresle birlikte farklı Adressidler ve addresstypelar bulunuyorsa sadece RecordType=1 ve AdressType=0 olan adresidyi getirsin Sadece RecordType=1 ve AdressType=1 olarak tek bir adresid varsa bu adreside getirsin RecordType=1 ve AdressType=1 adresi ile birlikte farklı adsressid ve addresstype lar varsa sadece RecordType=1 and AdressType=1 olanı getirsin ancak farklı adresidler arasında RecordType=1 ve AdressType=0 bulunuyorsa RecordType=1 ve AdressType=0 olan adresi getirsin . Bunun dışında benim atladığım sizlerinde eklemek istediği şartlar varsa belirtirseniz sevinirim. Sorgunun sadece bir kısmı olduğu için parantez içinde çözmek istiyorum. Önerilerinizi yardımlarınızı bekliyorum.Teşekkürler
dbo.customer INNER JOIN (select * from AddressMapping am WHERE am.RecordType=1 and am.AdressType=0 AND am.[Status]=0 ) AS am ON cbcm.CbcmID=am.CbcmID_UserID