Merhaba arkadaşlar benim bir konuda yardımlarınıza ihtiyacım var
http://dosyadepo.com/5Ib
yukarıdaki sql 2012 için db yedeğim.
db de 3 tablo ile iş var.
araçlar,
rezervasyon
hareket,
kullanıcı yarının tarihini seçip sorgula dediğinde yarının tarihinde rezervasyonu olan araçlar ve tarihi önemsiz olup alınmış ama getirilmemiş araçlar Müsait araçlar listesinde görünmeyecek.
SELECT AracId, MarkaModel, Plaka, Sil, Durum
FROM dbo.Araclar
WHERE (Durum = 'UYGUN') AND (EXISTS
(SELECT AracId, AlımTarihi, TeslimTarihi
FROM dbo.Hareket
WHERE (Araclar.AracId=Hareket.AracId ) AND (AlımTarihi IS NOT NULL) AND (TeslimTarihi IS not NULL)))
EXCEPT SELECT Araclar.AracId, RezervasyonAlimTarihi
FROM dbo.Rezervasyon,dbo.Araclar
WHERE (Araclar.AracId=Rezervasyon.AracId) AND (dbo.Rezervasyon.RezervasyonAlimTarihi = '2015-12-01');
bu kod ile denediğimde sıkıntılı oluyor
daha kolaylık olması açısından 3 tablo ve 3 tablonun birleşmesi gereken kriterler şu şekilde
SELECT AracId, MarkaModel, Plaka, Sil, Durum
FROM dbo.Araclar
WHERE (Sil = 0) AND (Durum = N'UYGUN')
-------------------
SELECT AracId, AlımTarihi, TeslimTarihi
FROM dbo.Hareket
WHERE (NOT (AlımTarihi IS NULL)) AND (NOT (TeslimTarihi IS NULL))
-----------------------
SELECT AracId, RezervasyonAlimTarihi, Onay
FROM dbo.Rezervasyon
WHERE (Onay = 0) OR (RezervasyonAlimTarihi = @KullanicininVerecegiTarih)
işte bu son 2 sorguya göre boşa çıkan araçlar ilk sorguya göre kullanıcı seçimine bırakılacak
bu konuda yardımlarınızı bekliyorum