• 25-05-2013, 09:58:10
    #1
    Merhaba,

    SQL konusundan hiç anlamadığım ancak çok acil bir döküme ihtiyacım olduğu için size danışmak istedim.

    Database'imde musterisahipleri , firmalar ve notlar diye üç ayrı tablo bulunuyor.

    Benim isteğim son 2 ayda girilen notların dökümünü almak. Ancak bu notlarla birlikte firmaların adını ve müşteri sahiplerini de almak istiyorum.

    Ekte bu üç tablonun görselleri bulunuyor.
    Sorgum nasıl olmalı acaba?



  • 25-05-2013, 14:36:05
    #2
    select * from notlar
    join musterisahipleri ON notlar.ilgiliID = musterisahipleri.userID
    join firmalar ON firmalar.firmaID = musterisahipleri.firmaID
    where notlar.eklemeTarihi > 01-03-2013

    Şeklinde deniyorum ama tarih kısmında bir sorun var sanırım. Tüm notlar listeleniyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 14:36:05 -->-> Daha önceki mesaj 13:22:25 --

    SELECT * FROM firmalar,musterisahipleri,notlar WHERE
    firmalar.firmaID NOT IN (
    SELECT m2.firmaID FROM notlar AS n2,musterisahipleri AS m2
    WHERE n2.eklemeTarihi > '2013-03-24'
    ) AND
    musterisahipleri.firmaID = firmalar.firmaID AND
    notlar.ilgiliID = musterisahipleri.userID;

    Bu sorguda bir hata var mı en azından bunu söyleseniz?
  • 26-05-2013, 02:37:32
    #3
    ignoble adlı üyeden alıntı: mesajı görüntüle
    select * from notlar
    join musterisahipleri ON notlar.ilgiliID = musterisahipleri.userID
    join firmalar ON firmalar.firmaID = musterisahipleri.firmaID
    where notlar.eklemeTarihi > 01-03-2013

    Şeklinde deniyorum ama tarih kısmında bir sorun var sanırım. Tüm notlar listeleniyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 14:36:05 -->-> Daha önceki mesaj 13:22:25 --

    SELECT * FROM firmalar,musterisahipleri,notlar WHERE
    firmalar.firmaID NOT IN (
    SELECT m2.firmaID FROM notlar AS n2,musterisahipleri AS m2
    WHERE n2.eklemeTarihi > '2013-03-24'
    ) AND
    musterisahipleri.firmaID = firmalar.firmaID AND
    notlar.ilgiliID = musterisahipleri.userID;

    Bu sorguda bir hata var mı en azından bunu söyleseniz?
    Select (Select firmaID from firmalar as firma where firma.firmaID = musteri.firmaID limit 1) as firmaID , (Select musteri.ID from musterisahipleri as musteri where musteri.ID = not.ilgiliID limit 1 ) as ID from notlar as not where not.eklenmeTarihi > 01-03-2013
    eğer ilişkilendirmeleri doğru yazmışsam bu kod işini görmesi lazım.. Çalışmazsa sql yapısını ekle bakalım tekrardan.