Hayırlı günler. KAYITLAR ve SOZLESME isimli iki tane tablom var.
Bunları birleştirip çalıştırdığımda sorguda istediğim kayıtları değilde kayıtları tekrarlayarak astronomik fazla kayıt gösteriyor.
Sorgumdamı bir yanlışlık var veya tablolarımı hatalı oluşturdum acaba anlayanadım. Tablolarımı SQL Server 2012 ile oluşturdum.
Bu konıda bana yardımcı olursanız memnun olurum. Şimdiden çok teşekkür ediyorum.
select KAYITLAR.ID, A1, A2, SOZLESME.S2, S3, S14 from KAYITLAR INNER JOIN SOZLESME ON KAYITLAR.A1 = SOZLESME.S1
İki tablonun birleştirilmesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: İki tablonun birleştirilmesi
join'lerde kartezyen çarpım yapar. Burada Kayıtlar tablosunda A1 alanı, Sözleşme tablosundaki S1 alanına eşit olan tüm kayıtları eşleştirip, getirir.
Tabloların içeriğini bilmeden yorum yapmak zor ancak bu tarz durumlarda, en güzeli gelen kayıtlara bakıp, hangisini istemiyorsanız elemektir. where şartı ekleyip, gelmesini istemediğiniz tüm kayıtları eleyin.
Kolay gelsin.
Tabloların içeriğini bilmeden yorum yapmak zor ancak bu tarz durumlarda, en güzeli gelen kayıtlara bakıp, hangisini istemiyorsanız elemektir. where şartı ekleyip, gelmesini istemediğiniz tüm kayıtları eleyin.
Kolay gelsin.
-
- Üye
- Mesajlar: 30
- Kayıt: 08 Oca 2025 10:35
Re: İki tablonun birleştirilmesi
Hocam A1 ve S1 sütunları metin ayarlı ve 48.000 kayıt var. Birleştirdiğimde 500.000 kaydı geçiyor. Mükerrer satır yapıyor. En sozunda ben sorguyu durduruyorum.mussimsek yazdı: 08 Nis 2025 05:52 join'lerde kartezyen çarpım yapar. Burada Kayıtlar tablosunda A1 alanı, Sözleşme tablosundaki S1 alanına eşit olan tüm kayıtları eşleştirip, getirir.
Tabloların içeriğini bilmeden yorum yapmak zor ancak bu tarz durumlarda, en güzeli gelen kayıtlara bakıp, hangisini 1istemiyorsanız elemektir. where şartı ekleyip, gelmesini istemediğiniz tüm kayıtları eleyin.
Kolay gelsin.
Re: İki tablonun birleştirilmesi
SQL string inin düzenli yazmanı öneririm. A1, A2 hangi tablonın? başında alias yada tablo isimleri yok. ayrıca formatlı şekilde yazarsan hatayı bulman dahada kolay olacaktır.Ertuğrul2025 yazdı: 08 Nis 2025 03:51 select KAYITLAR.ID, A1, A2, SOZLESME.S2, S3, S14
from KAYITLAR
INNER JOIN SOZLESME ON KAYITLAR.A1 = SOZLESME.S1
"ON KAYITLAR.A1 = SOZLESME.S1" koşul doğru yazılış ama field içeriği nedir nasıl kurguladın bilemeyiz.
join kullanımı ile ilgili 1-2 makale okumanda fayda olacaktır.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
-
- Üye
- Mesajlar: 30
- Kayıt: 08 Oca 2025 10:35
Re: İki tablonun birleştirilmesi
Teşekkür ederim hocam.freeman35 yazdı: 09 Nis 2025 09:56SQL string inin düzenli yazmanı öneririm. A1, A2 hangi tablonın? başında alias yada tablo isimleri yok. ayrıca formatlı şekilde yazarsan hatayı bulman dahada kolay olacaktır.Ertuğrul2025 yazdı: 08 Nis 2025 03:51 select KAYITLAR.ID, A1, A2, SOZLESME.S2, S3, S14
from KAYITLAR
INNER JOIN SOZLESME ON KAYITLAR.A1 = SOZLESME.S1
"ON KAYITLAR.A1 = SOZLESME.S1" koşul doğru yazılış ama field içeriği nedir nasıl kurguladın bilemeyiz.
join kullanımı ile ilgili 1-2 makale okumanda fayda olacaktır.