• 27-11-2012, 14:01:25
    #1
    Merhaba arkadaşlar. mysql ile alakalı bir sıkıntım var. Mysql tablosunda array search yapmaya calisiyorum.

    SELECT * FROM tabloadi WHERE tarih > '2012-11-27' and alan1 IN (1,2,3) ORDER BY tarih ASC

    şeklinde mysql komut satırımı oluşturduğumda sonuç alıyorum sıkıntı yok benim sıkıntım şurda başliyor.

    SELECT * FROM kampanya WHERE tarih > '2012-11-27' and alan1 IN (1,2,3) and alan2 IN (2,3) ORDER BY tarih ASC

    yani 2. bir array araması koyduğumda hata vermiyor ama sonuçta vermiyor. Ancak veri tabanı alanlarımda aradiğım alanlarda 1 2 3 değerleri mevcut ancak sonuç yok.

    Konu hakkında bilgisi olan yardımcı olabilirmi. Yada farklı bir fikri olan varsa paylaşabilirmi. Teşekkür Ederim. Şimdiden. Kolay Gelsin.
  • 27-11-2012, 14:08:23
    #2
    And Or kullanman gerekiyor olmasın?

    SELECT * FROM kampanya WHERE tarih > '2012-11-27' and (alan1 IN (1,2,3) OR alan2 IN (2,3)) ORDER BY tarih ASC
  • 27-11-2012, 14:15:11
    #3
    frdtrkc adlı üyeden alıntı: mesajı görüntüle
    And Or kullanman gerekiyor olmasın?

    SELECT * FROM kampanya WHERE tarih > '2012-11-27' and (alan1 IN (1,2,3) OR alan2 IN (2,3)) ORDER BY tarih ASC
    OR değil hocam AND kullanmam gerekiyor. yada değil ve yani.
  • 27-11-2012, 14:17:02
    #4
    XYZ
    Kimlik doğrulama veya yönetimden onay bekliyor.
    neptun adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar. mysql ile alakalı bir sıkıntım var. Mysql tablosunda array search yapmaya calisiyorum.

    SELECT * FROM tabloadi WHERE tarih > '2012-11-27' and alan1 IN (1,2,3) ORDER BY tarih ASC

    şeklinde mysql komut satırımı oluşturduğumda sonuç alıyorum sıkıntı yok benim sıkıntım şurda başliyor.

    SELECT * FROM kampanya WHERE tarih > '2012-11-27' and alan1 IN (1,2,3) and alan2 IN (2,3) ORDER BY tarih ASC

    yani 2. bir array araması koyduğumda hata vermiyor ama sonuçta vermiyor. Ancak veri tabanı alanlarımda aradiğım alanlarda 1 2 3 değerleri mevcut ancak sonuç yok.

    Konu hakkında bilgisi olan yardımcı olabilirmi. Yada farklı bir fikri olan varsa paylaşabilirmi. Teşekkür Ederim. Şimdiden. Kolay Gelsin.
    SQL sorguda bir hata olduğunu düşünmüyorum. Sorun başka bir yerde olabilir.
  • 27-11-2012, 14:22:20
    #5
    XYZ adlı üyeden alıntı: mesajı görüntüle
    SQL sorguda bir hata olduğunu düşünmüyorum. Sorun başka bir yerde olabilir.
    mysql hata vermiyor zaten. sonuç vermiyor.
  • 27-11-2012, 14:24:10
    #6
    neptun adlı üyeden alıntı: mesajı görüntüle
    mysql hata vermiyor zaten. sonuç vermiyor.
    Aynı sorguyu phpmyadmin'den denediğinizde sonuç alıyor musunuz ?
  • 27-11-2012, 14:28:44
    #7
    hocam direk phpmyadmin calisiyorum zaten. php de sonuş alamayinda direk oraya girdim bende. ama ordada tık yok.
  • 27-11-2012, 14:30:48
    #8
    Sql scriptini buraya eklersen yardımcı olmaya çalışırım.
  • 27-11-2012, 14:32:09
    #9
    SELECT * FROM kampanya WHERE tarih > '2012-11-27' and alan1 IN (1,2,3) and alan2 IN (2,3) ORDER BY tarih ASC

    bunun ne anlama geldiğini açıklarsak belki hatayı bulabilirsiniz.

    alan1 IN (1,2,3) and alan2 IN (2,3) demek :

    (alan1 = 1 AND alan2 = 2 OR alan1 = 1 AND alan2 = 3)
    OR
    (alan1 = 2 AND alan2 = 2 OR alan1 = 2 AND alan2 = 3)
    OR
    (alan1 = 3 AND alan2 = 2 OR alan1 = 3 AND alan2 = 3)

    bu koşulları taşıyan kolonlar var mı?