Birbirini Etkileyen Sorgular

28/01/2011, 01:52

gogoli01

Konu başlığını uygun olarak mı seçtim bilemiyorum ama bana uygun gibi geldi.
sorunum şu: yapmış olduğum veri tabanında 3 sorgu aynı anda çalışıyor sonuçları birbirini etkiliyor.
şöyleki;ana form üzerinde "bilgi ekranı" butonuna tıklayınca açılan form 3 sorguyu çalıştırıyor.
1. sorgu görevdeki araçları listeliyor.
2. sorgu garajdaki araçları listeliyor.
3. sorgu bakımdaki araçları listeliyor.
yalnız 3.sorguda problem var, bakımdaki araçları listeliyor fakat bakımdaki aracın plakasını garajdaki araçlar listesinde de gösteriyor.bakımdaki aracı garajdaki araçlar listesinde göstermemesi gerek.
epey uğraştım fakat bir türlü çözemedim, ustalarımın yardımlarını bekliyorum.
28/01/2011, 01:58

Kur@l

Sayın gogoli;
Garajdaki araçlar sorgusunun Sql cümlesini aşağıda ki Sql cümlesi ile değiştirin.
İç içe select komutunun not in kalıbı ile kullanımı aşağıdaki gibi şekildedir.
Kolay gelsin.

SELECT ARAC.[No], ARAC.CINSI, ARAC.TIPI, ARAC.MODEL, ARAC.YASI, ARAC.YAKIT, ARAC.ONCELIK, ARAC.SURUCU, ARAC.GOREVI
FROM ARAC LEFT JOIN GOREVDEKI_ARACLAR ON ARAC.[No] = GOREVDEKI_ARACLAR.[No]
WHERE (((ARAC.PLAKA) Not In (select PLAKASI from [BAKIMDAKI_ARACLAR] )));

16 CE 799 artık bakımda iken garajda görünemez....
Bu arada 6 dakikada çözüm...
Ayrıca GRJ_ONC_1 sorgusuda aşağıdaki gibi değişmeli...

SELECT ARAC.PLAKA, ARAC.CINSI, ARAC.TIPI, ARAC.ONCELIK AS ONC1
FROM ARAC LEFT JOIN GRV_ONC_1 ON ARAC.[No] = GRV_ONC_1.[No]
WHERE (((ARAC.PLAKA) Not In (select PLAKASI from [BAKIMDAKI_ARACLAR] )) AND ((ARAC.ONCELIK)="1.ÖNCELİK") AND ((GRV_ONC_1.[No]) Is Null));

28/01/2011, 16:29

gogoli01

sayın Kur@l,
cevabınız için teşekkür ederim.sorguları belirtmiş olduğunuz gibi değiştirdim ve istediğim sonuca ulaştım.
ayrıca çok hızlısınız, 6 dakika gibi bir sürede sorunu çözmüşsünüz sağolun...