Hayırlı günler SQL'de iki tabloyu birleştiriryorum.
SELECT TABLO1.A1, TABLO1.A2, TABLO1.A3, TABLO2.S1, TABLO2.S2, TABLO2.S3
FROM TABLO1 LEFT JOIN TABLO2 ON TABLO1.A1 = TABLO2.A2
TABLO1
A1 A2 A3
1245 TLM2 ELMA
5263 TLM7 ARMUT
TABLO2
S1 S2 S3
1245 TLM23 ELMA
1245 TLM87 ERİK
1245 TLM52 MUZ
5263 TLM63 ARMUT
5263 TLM2 TURP
5263 TLM1 HAVUÇ
5263 TLM8 PRASA
Ama benim istediğim.
Tablo2'de aynı kayıttan birden fazla olduğu zaman
Tablo1 ile bir kere birleştirsin.
Benim istdiğim
A1 A2 A3 S1 S2 S3
1245 TLM2 ELMA 1245 TLM23 ELMA
Tablo2'nin S2 ve S3'ün ne içerdiği önemli değil. Sadece
Tablo1 A1 ile eşleşen Tablo2 S1'i bir kere göstersin.
SQL'de mükerrer kayıtları bir kere birleştirsin.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 42
- Kayıt: 08 Oca 2025 10:35
Re: SQL'de mükerrer kayıtları bir kere birleştirsin.
Merhaba,
LEFT JOIN değil INNER JOIN kullanmayı deneyin.
Bazı veritabanları sadece JOIN kullanımını INNER JOIN olarak uygulayabiliyorlar.
LEFT JOIN değil INNER JOIN kullanmayı deneyin.
Bazı veritabanları sadece JOIN kullanımını INNER JOIN olarak uygulayabiliyorlar.
-
- Üye
- Mesajlar: 42
- Kayıt: 08 Oca 2025 10:35
Re: SQL'de mükerrer kayıtları bir kere birleştirsin.
Hocam INNER JOIN'de de aynını sayıyor. Tablo1 10 kayıt tablo2 50 kayıt varsa mükerrerler ile çok fazla kayıt görünüyor.ertank yazdı: 09 May 2025 09:34 Merhaba,
LEFT JOIN değil INNER JOIN kullanmayı deneyin.
Bazı veritabanları sadece JOIN kullanımını INNER JOIN olarak uygulayabiliyorlar.
Re: SQL'de mükerrer kayıtları bir kere birleştirsin.
SQL ile ilgili sorular için forumda farklı bir bölüm var. Orayı kullanmanızda fayda var.
SQL konulu sorularda mümkün mertebe detaylı bilgi vermek gerekiyor.
Cevaplayacak kişinin işini kolaylaştırmak için de SQL komutları ile bu bilgileri iletmekte ve hangi veritabanını kullandığınızı bildirmenizde fayda var.
Sizin verdiğiniz bilgileri aşağıdaki şekilde SQL komutuna eklediğimde öncelikle hiç eşleşen veri olmadığını gösteriyor bana.
"Tek kayıt gelsin" için DISTINCT kelimesini kullanabilirsiniz. Verileri tekilleştirir.
Sonuç olarak gelen yanıt
SQL konulu sorularda mümkün mertebe detaylı bilgi vermek gerekiyor.
Cevaplayacak kişinin işini kolaylaştırmak için de SQL komutları ile bu bilgileri iletmekte ve hangi veritabanını kullandığınızı bildirmenizde fayda var.
Sizin verdiğiniz bilgileri aşağıdaki şekilde SQL komutuna eklediğimde öncelikle hiç eşleşen veri olmadığını gösteriyor bana.
"Tek kayıt gelsin" için DISTINCT kelimesini kullanabilirsiniz. Verileri tekilleştirir.
Kod: Tümünü seç
create table tablo1 (
a1 varchar(30),
a2 varchar(30),
a3 varchar(30)
);
create table tablo2 (
s1 varchar(30),
s2 varchar(30),
s3 varchar(30)
);
commit;
insert into tablo1 values('1245', 'TLM2', 'ELMA');
insert into tablo1 values('5263', 'TLM7', 'ARMUT');
insert into tablo2 values('1245', 'TLM23', 'ELMA');
insert into tablo2 values('1245', 'TLM87', 'ERİK');
insert into tablo2 values('1245', 'TLM52', 'MUZ');
insert into tablo2 values('5263', 'TLM63', 'ARMUT');
insert into tablo2 values('5263', 'TLM2', 'TURP');
insert into tablo2 values('5263', 'TLM1', 'HAVUÇ');
insert into tablo2 values('5263', 'TLM8', 'PRASA');
commit;
select
distinct t1.*, t2.*
from
tablo1 t1
join tablo2 t2 on t2.s2 = t1.a1
Kod: Tümünü seç
A1 |A2 |A3 |S1 |S2 |S3 |
VARCHAR(30) |VARCHAR(30) |VARCHAR(30) |VARCHAR(30) |VARCHAR(30) |VARCHAR(30) |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5/9/2025 10:16:46 AM: Select executed in 0.000 s - Record count: 0
-
- Üye
- Mesajlar: 42
- Kayıt: 08 Oca 2025 10:35
Re: SQL'de mükerrer kayıtları bir kere birleştirsin.
Allah razı olsun hocam sağolun