none
Kaç zamandır uğraşıyorum.Yardım edermisiniz lütfen.

    Soru

  • Arkadaşlar işin içinden bir türlü çıkamadığım bir sorgum var. Yardımlarınızı bekliyorum.

    Öncelikle yazdıklarımı dikkatlice okumanızı istiyorum çünkü biraz karışık.

    İki tane tablom var.

    yukarıdaki tablomun adı HaftalikGorusmeID (Ben bunu anlaşılması kolay olsun diye Tablo1 diyeceğim)

    yukarıdaki tablomun adı ise HaftalikGorusmeTablosuID (Bunun adınıda Tablo2 diyeceğim)

    Şimdi sorum şu..

    Tablo1 deki HaftalikGorusmeID ile Tablo2 deki HaftalikGorusmeID leri karşılaştıracak. Tablo1, Tablo2 de olmayan HaftalikGorusmeID lerini gösterecek. Ancakkk Tarih olarak bugün ve önümüzdeki günleri kapsayanları gösterecek. Tarihi geçmişleri göstermeyecek.

    Not: Tarih sütunu Date olarak yapılmıştır.

    Bu kodu yazarsanız inanın size minnettar olacağım. ilginiz için şimdiden teşekkür ederim.

    Ben Aşağıdaki gibi bişiler yapmaya çalıştım ancak başaramadım.

    DataTable dtOgretmenRandevu = klas.GetDataTable("SELECT dbo.HaftalikGorusme.HaftalikGorusmeID, dbo.HaftalikGorusme.KurumKodu, dbo.HaftalikGorusme.GunlerID, dbo.HaftalikGorusme.Baslama, dbo.HaftalikGorusme.Bitis, dbo.OgretmenBilgileri.OgretmenBransi, " +
                             " dbo.OgretmenBilgileri.OgretmenAdiSoyadi " +
    " FROM dbo.HaftalikGorusme INNER JOIN " +
                            " dbo.OgretmenBilgileri ON dbo.HaftalikGorusme.OgretmenID = dbo.OgretmenBilgileri.OgretmenID " +
    " WHERE (dbo.HaftalikGorusme.HaftalikGorusmeID NOT IN " +
                               "  (SELECT HaftalikGorusmeID " +
                                "   FROM dbo.HaftalikGorusmeTablosu " +
                                  " WHERE (KurumKodu = N'" + Session["KurumKodu"].ToString() + "') AND (OgrenciID = N'" + Session["OgrenciID"].ToString() + "')AND (dbo.HaftalikGorusmeTablosu.OgrenciID = @OgrenciID) AND (CONVERT(date, dbo.HaftalikGorusmeTablosu.Tarih) >= CONVERT(date, GETDATE())))");

    Uğraşlarınızdan dolayı şimdiden teşekkür ederim.

    08 Haziran 2017 Perşembe 23:22

Tüm Yanıtlar

  • Merhabalar,

    Aşağıdaki sorgu şeklini kendinize uyarlayarak deneyebilir misiniz? Doğru anladıysam istemiş olduğunuz veriyi getirecektir.

    SELECT kolonlar
    FROM tablo1 as t1 
    inner join tablo2 as t2
    ON t1.kolonadi = t2.kolonadi
    WHERE t2.kolonadi is null AND t2.Tarih >= GETDATE()

    Umarım faydalı olur...


    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    www.abdullahaltintas.com

    09 Haziran 2017 Cuma 07:52
  • Abdullah bey kodu aşağıdaki tarihi araması yaptım oda çalıştı. 

    SELECT        t1.HaftalikGorusmeID AS Expr2, t2.HaftalikGorusmeTablosuID, t2.KurumKodu, t2.HaftalikGorusmeID, t2.Tarih, t2.OgrenciID
    FROM            dbo.HaftalikGorusme AS t1 INNER JOIN
                             dbo.HaftalikGorusmeTablosu AS t2 ON t1.HaftalikGorusmeID = t2.HaftalikGorusmeID
    WHERE        (CONVERT(date, t2.Tarih) >= CONVERT(date, GETDATE()))

    şimdi tek konu var oda 

     (t2.HaftalikGorusmeID IS NULL) 

    bunu eklediğim zaman hiçbir veri göstermiyor.Bunuda halledersek işlem tamam.

    09 Haziran 2017 Cuma 08:27
  • Benim hatam kusura bakmayın. INNER JOIN yerine LEFT JOIN yazabilir misiniz?

    SELECT t1.HaftalikGorusmeID AS Expr2, t2.HaftalikGorusmeTablosuID, t2.KurumKodu, t2.HaftalikGorusmeID, t2.Tarih, t2.OgrenciID FROM dbo.HaftalikGorusme AS t1 LEFT JOIN dbo.HaftalikGorusmeTablosu AS t2 ON t1.HaftalikGorusmeID = t2.HaftalikGorusmeID WHERE (CONVERT(date, t2.Tarih) >= CONVERT(date, GETDATE()))

    AND (t2.HaftalikGorusmeID IS NULL) şimdi tek konu var oda (t2.HaftalikGorusmeID IS NULL)



    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    www.abdullahaltintas.com

    09 Haziran 2017 Cuma 08:35
  • malesef hiç sonuç dönmüyor. :(((

    AND (t2.HaftalikGorusmeID IS NULL)

    bunu sildiğim an normal tüm sonuçları gösteriyor. yani geçmiş tarihlileri değil bugün ve gelecek tarihlileri gösteriyor.

    Küçük birşey var ama nedir :)

    • Düzenleyen CÜNEYT.A 09 Haziran 2017 Cuma 20:07
    09 Haziran 2017 Cuma 20:05
  • Merhaba Cüneyt.A

    Şu versiyonu dener misin?

    SELECT ...
    FROM Tablo1 AS T1 
    WHERE NOT EXISTS(SELECT * FROM Tablo2 AS T2 WHERE T2.HaftalikGorusmeTablosuId = T1.HaftalikGorusmeId)
    WHERE T2.Tarih >= GETDATE()


    http://ekremonsoy.blogspot.com | http://www.ekremonsoy.com | @EkremOnsoy

    03 Temmuz 2017 Pazartesi 16:03
    Moderatör