Zoque.Forum
»
Inner Join sorgusu ile ilgili problem
|
| Veritabanları MySQL , MSSQL, SQL, Access, Oracle |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Inner Join sorgusu ile ilgili problem
Merhaba arkadaşlar,
Aşağıdaki gibi bir sorgu ile bir tablodan veri almak istiyorum. amacım a tablosundan a.f1 ile, b tablosundaki f2 alanındaki verileri aynı olmayan kayıtları çekmek. Bunun için kullandığım sorgu a tablosundaki bir kaydı defalarca kez getiriyor. distinct kullandığımda kayıt dönmüyor, group by kullandığımda ise veritabanı çakılıyor (50000 kayıt var) Nerede yanlış yapıyor olabilirim? Kod:
SELECT * FROM a INNER JOIN b ON a.f1 != b.f2 ![]() veritabanı: MySQL 5.0.27 İlgilenen herkese şimdiden teşekkürler.
__________________
http://scriptman.deviantart.com |
|
|
|
|
|
|
#2 (permalink) |
|
Re: Inner Join sorgusu ile ilgili problem
Arkadaşlar sorunun çözümünü buldum, benzer bir durumla karşılaşanlar için sorgu aşağıdaki şekilde olmalı;
Kod:
SELECT a.f1 FROM a WHERE NOT EXISTS (SELECT * FROM b WHERE b.f2 = a.f1)
__________________
http://scriptman.deviantart.com |
|
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,911
|
Re: Inner Join sorgusu ile ilgili problem
exist hatalı sonuçlar getirebilir -karmaşık yapılar nedeniyle, hele * kullanıyorsanız-. sanırım aradığınız budur;
Kod:
SELECT * FROM a WHERE a.f1 NOT IN (SELECT f2 FROM b)
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
Zoque'a hoşgeldiniz!