çok Parametreli Sql Sorgusu
#1
Arkadaşlar Merhaba,

Bir projemde bir tabloda yaklaşık 200 adet alanım (sayı alanı) var. Ve bu tablo üzerinden bir sorgu oluşturuyorum. Ölçüt olarak her bir alan için "In(Select" komutu ile başka tablodaki alana göre filtreleme yapıyorum. Ben performans anlamında test yapmak için en başta "In(Select" ölçütü kullanmadan sorguda her bir alan için ">1" diye basit bir ölçüt yazdım. Fakat 90 adet alandan sonrasına access izin vermedi, hata verdi. Diyelik 90 adet ile bile gitsem biliyorumki 90 alanda ölçüt kullanmak heleki "In(select" ile biriken verilerle performans iyice düşecektir. Bu yüzden bu sorguyu vba tarafında çözebilir miyiz.


Örnek Yapı;

Tablo1
X1 Alanı
X2 Alanı
X3 Alanı
X4 Alanı
.
.
.
.
.
(Toplamda 200 Adet)


Tablo2
X1 Alanı
X2 Alanı
X3 Alanı
X4 Alanı
.
.
.
.
.
(Toplamda 200 Adet)


Sorguda kaynak tablo "Tablo1"
"In(select" ile "Tablo2" de yer alana "X1" alanındaki verilere göre "Tablo1" verilerini filtrelemek istiyorum.
Bu şekilde 200 tane ölçüt

Nasıl çözebilirim.

Saygılarımla



  Alıntı
Bu mesajı beğenenler:
#2
(29-03-2021, 22:57)adnnfrm demiş ki: Arkadaşlar Merhaba,

Bir projemde bir tabloda yaklaşık 200 adet alanım (sayı alanı) var. Ve bu tablo üzerinden bir sorgu oluşturuyorum. Ölçüt olarak her bir alan için "In(Select" komutu ile başka tablodaki alana göre filtreleme yapıyorum. Ben performans anlamında test yapmak için en başta "In(Select" ölçütü kullanmadan sorguda her bir alan için ">1" diye basit bir ölçüt yazdım. Fakat 90 adet alandan sonrasına access izin vermedi, hata verdi. Diyelik 90 adet ile bile gitsem biliyorumki 90 alanda ölçüt kullanmak heleki "In(select" ile biriken verilerle performans iyice düşecektir. Bu yüzden bu sorguyu vba tarafında çözebilir miyiz.


Örnek Yapı;

Tablo1
X1 Alanı
X2 Alanı
X3 Alanı
X4 Alanı
.
.
.
.
.
(Toplamda 200 Adet)


Tablo2
X1 Alanı
X2 Alanı
X3 Alanı
X4 Alanı
.
.
.
.
.
(Toplamda 200 Adet)


Sorguda kaynak tablo "Tablo1"
"In(select" ile "Tablo2" de yer alana "X1" alanındaki verilere göre "Tablo1" verilerini filtrelemek istiyorum.
Bu şekilde 200 tane ölçüt

Nasıl çözebilirim.

Saygılarımla

Keşke bir örnek ekleseniz daha iyi olurdu. Eğer yanlış anlamadıysam ekteki dosyayı inceleyiniz. Tablo1'de 2000 veri var. Tablo2'de 400 veri bulunmakta. Tablo2'deki 400 veri ile uyuşan Tablo1'deki 400 veriyi getirir.


Eklenti Dosyaları
.rar   alperalper_eşleşmeyen veriler.rar (Boyut: 35,6 KB / İndirilme: 76)



  Alıntı
Bu mesajı beğenenler:
#3
(30-03-2021, 14:10)alperalper demiş ki:
(29-03-2021, 22:57)adnnfrm demiş ki: Arkadaşlar Merhaba,

Bir projemde bir tabloda yaklaşık 200 adet alanım (sayı alanı) var. Ve bu tablo üzerinden bir sorgu oluşturuyorum. Ölçüt olarak her bir alan için "In(Select" komutu ile başka tablodaki alana göre filtreleme yapıyorum. Ben performans anlamında test yapmak için en başta "In(Select" ölçütü kullanmadan sorguda her bir alan için ">1" diye basit bir ölçüt yazdım. Fakat 90 adet alandan sonrasına access izin vermedi, hata verdi. Diyelik 90 adet ile bile gitsem biliyorumki 90 alanda ölçüt kullanmak heleki "In(select" ile biriken verilerle performans iyice düşecektir. Bu yüzden bu sorguyu vba tarafında çözebilir miyiz.


Örnek Yapı;

Tablo1
X1 Alanı
X2 Alanı
X3 Alanı
X4 Alanı
.
.
.
.
.
(Toplamda 200 Adet)


Tablo2
X1 Alanı
X2 Alanı
X3 Alanı
X4 Alanı
.
.
.
.
.
(Toplamda 200 Adet)


Sorguda kaynak tablo "Tablo1"
"In(select" ile "Tablo2" de yer alana "X1" alanındaki verilere göre "Tablo1" verilerini filtrelemek istiyorum.
Bu şekilde 200 tane ölçüt

Nasıl çözebilirim.

Saygılarımla

Keşke bir örnek ekleseniz daha iyi olurdu. Eğer yanlış anlamadıysam ekteki dosyayı inceleyiniz. Tablo1'de 2000 veri var. Tablo2'de 400 veri bulunmakta. Tablo2'deki 400 veri ile uyuşan Tablo1'deki 400 veriyi getirir.

Hocam örnek ekte mevcuttur. Sorgudaki ölçütü 200 adet alan için yaptığınızı düşünün. 

Saygılarımla


Eklenti Dosyaları
.rar   Örnek.rar (Boyut: 2,14 MB / İndirilme: 90)



  Alıntı
Bu mesajı beğenenler:
#4
neden 2 tabloyu ilişkilendirmek yerine in(select) kullanıyorsunuz? aradaki fark ne?
sonuçta in (select tablo2) dediğinizde belli bir alana ait değerin hem tablo1de hem de tablo2 de olması gerekmiyor mu? bu durum zaten sorguda ilişkilendirme kullanılarak halledilemez mi?



  Alıntı
Bu mesajı beğenenler:
#5
(01-04-2021, 01:22)halily demiş ki: neden 2 tabloyu ilişkilendirmek yerine in(select) kullanıyorsunuz? aradaki fark ne?
sonuçta in (select tablo2)  dediğinizde belli bir alana ait değerin hem tablo1de hem de tablo2 de olması gerekmiyor mu? bu durum zaten sorguda ilişkilendirme kullanılarak halledilemez mi?

Hocam aslında In(selecet ile konuyu bitirmeyeceğim. Başına IF takısı da getireceğim. (Bilmiyorum nasıl olacak ama koşula bağlı In(selecet yapacak.)

Asıl istediğim sonuç şu;

Her iki tabloda da "X1" diye alan var. Dediğiniz doğru ben her iki tablonun "X1" alanlarını eşleştirirsem. Tam örtüşme ile "Tablo1" i filtrelemiş olurum. Fakat ben bu durumun bir seçime bağlı olmasını istiyorum. Örneğin bir formda "X1 Kriterini Uygula" diye bir alanı tiklediğimde sorguda bu 2 alanı birleştirip sorguyu öyle çalıştırsın ama tiklemediğimde o birleştirme işlemini iptal etsin.  Ve bunu 200 alan içinde yapacağım. Ama nasıl çözerim bilmiyorum.



  Alıntı
Bu mesajı beğenenler:
#6
aklıma gelen bir yöntem var ama henüz tam oturtamadım kafamda
siz çalışmanıza 5-10 alan için form ekleyin çalışma mantığını anlamamızı sağlayacak ona göre bir yöntem oluşturmaya çalışalım
temel olarak seçilen her checkbox için ilgili alanı ekleyecek bir sorgu tasarlamayı düşünüyorum ama belirttiğim gibi henüz tam oturtamadım



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Güncelleme Sorgusu çalışmıyor ? karaayhan 3 400 05-04-2025, 22:08
Son Mesaj: karaayhan
  Tablodaki Alanı Alt Tablodan Alınan Değerle Güncelleme Sorgusu Lidervet 7 637 02-12-2024, 11:20
Son Mesaj: halily
  Formda Liste Sorgusu anno 1 345 15-07-2024, 00:29
Son Mesaj: dsezgin
  Gücelleme Sorgusu evren89 2 352 18-05-2024, 23:19
Son Mesaj: evren89
  [SORGU] Farklı Tablolarda Yer Alan Satış Bilgilerini Toplama Sorgusu Lidervet 1 481 09-11-2023, 00:54
Son Mesaj: dsezgin
  Güncelleştirme Sorgusu omergenc7 2 385 01-10-2022, 02:13
Son Mesaj: omergenc7
  [SORGU] Toplu Il Sorgusu Satir 19 1.155 14-08-2022, 12:14
Son Mesaj: halily
  Sql Sorgusu Nasıl Oluşturulur? Pattinstew12 3 425 02-06-2022, 17:46
Son Mesaj: beab05

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi