Re: [Linux-programlama] Sql sorgusu

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Emirhan (linux@vuralyazilim.com.tr)
Date: Wed 21 Feb 2007 - 18:13:38 EET


Arkaaşlar bu sorguların hepsinde IN komutu var. Bir önceki mailde yazdım ama kimse dikkat etmemiş galiba. IN komutunun kullanımında benim problemim var.
select * from ogrenci where no in (1,3,5);
sorgusu sorunsuz çalışıyor. Ama
select * from ogrenci where no in (select no from notlar);
sorgusu çalışmıyor.Aşağıdaki hatayı veriyor. En basitinden hiçbir şartı kullanmamışken bu sorgunun çalışması gerekmezmi.

SQL-sorgusu :

SELECT *
FROM `ogrenci`
WHERE no
IN (

SELECT no
FROM notlar
)
LIMIT 0 , 30

MySQL çıktısı:

You have an error in your SQL syntax near 'SELECT no
FROM notlar ) LIMIT 0, 30' at line 5
----- Original Message -----
  From: A. Oguz Mermerkaya
  To: linux-programlama@liste.linux.org.tr
  Sent: Wednesday, February 21, 2007 5:46 PM
  Subject: Re: [Linux-programlama] Sql sorgusu

dikkat ederseniz n diye bi alias kullaniyoz sorgu dasizin gonderdiginiz sorgu da n i goremedimAsagida n alias isina dikkat edin... select no,adi from ogrenci where no in ( select no from (select * from notlar where ders='turkce' and notu='50') n --alias, burayi silmeniz gerekebilirwhere n.ders='matematik' and n.not='80')

  ahmet oguz mermerkaya
  www.e-yillik.net
    ----- Original Message -----
    From: Emirhan
    To: linux-programlama@liste.linux.org.tr
    Sent: Wednesday, February 21, 2007 9:40 AM
    Subject: Re: [Linux-programlama] Sql sorgusu

    Bu sorgu ile çalıştığında hata vermiyor ama hiçbir sonuçta gelmiyor. Arkadaşlar diğer sorguların hatalarını istemişler. Hemen yazıyorum. Akşam baya çalıştım ve bazı hatalarımı bulup düzelttim. Aşağıda hata veren sorgulara yine benim hatam olabilir eğer öyleyse kusura bakmayın lütfen acemiliğime verin.

    select ogrenci.adi, notlar.notu from ogrenci, notlar where ((notlar.notu=50 and notlar.ders='matematik') or (notlar.notu=80 and notlar.ders='turkce')) and ogrenci.sinifi='b' and ogrenci.no=notlar.no order by ogrenci.no asc

    bu sorgu turkcesi 80 ama matematiği 85 olan kişiyide getiriyor.

    select adi,no from ogrenci where sinifi='b' and no in
    (select no from notlar where ders='matematik' and notu='50') and no in
    (select no from notlar where ders='turkce'and notu='80');

    bu kod aşağıdaki şekilde hata veriyor.

    MySQL çıktısı:

You have an error in your SQL syntax near 'SELECT no
FROM notlar
WHERE ders = 'matematik' AND notu = '50' ) AND no
IN (
' at line 5
bu arada başka bir deneme yaptım ve şunun farkına vardım. select * from ogrenci where no in(1,3); bu sorgu sorunsuz çalışıyor ve 1 ila 3 nolu öğrencileri getiriyor. select * from ogrenci where no in(select distinct no from notlar); bu sorgu ise çalışmıyor ve You have an error in your SQL syntax near 'SELECT DISTINCT noFROM notlar ) şeklinde hata veriyor. Bu kodun çalışması gerekmezmi ? Yoksa benim mysql serverdamı bir sorun olabilirmi. select no,adi from ogrenci where no in ( select no from (select * from notlar where ders='turkce' and notu='50') where n.ders='matematik' and n.not='80') Bu kodda aşağıdaki gibi bir hata veriyor.MySQL çıktısı: You have an error in your SQL syntax near 'SELECT no
FROM (
SELECT *
FROM notlar
WHERE ders = 'turkce' AND notu = '50'' at line 5
----- Original Message -----
      From: Zekeriye Bozkurt
      To: linux-programlama@liste.linux.org.tr
      Sent: Tuesday, February 20, 2007 5:55 PM
      Subject: RE: [Linux-programlama] Sql sorgusu

       
      SELECT OGRENCI.NO,OGRENCI.ADI FROM OGRENCI,NOTLAR WHERE
       (OGRENCI.NO=NOTLAR.NO) AND (OGRENCI.SINIF='B') AND ((NOTLAR.DERS='TURKCE') AND (NOTLAR.NOT=50)) AND ((NOTLAR.DERS='MATEMATIK') AND (NOTLAR.NOT='80'))

      Bu SQL cümleciginin isinizi gorecegini saniyorum. Parentezlere dikkat ediniz.
       
      Zekeriya BOZKURT

------------------------------------------------------------------------
        From: ahmetmermerkaya@hotmail.com
        To: linux-programlama@liste.linux.org.tr
        Subject: Re: [Linux-programlama] Sql sorgusu
        Date: Tue, 20 Feb 2007 14:54:55 +0200

        Diger arkadaslarin yazdiklari sorgulara baktimda bana calisir gibi geldi...
        Yine calisacagini umdugum bi sorgu gondereyim...

        Hata alirsaniz donen hata yi da yazarmisiniz?

        select no,adi
        from ogrenci
        where no in ( select no from
                             (select * from notlar where ders='turkce' and not='50') n
                            where n.ders='matematik' and n.not='80'
                           )

        Saygilar...

        ahmet oguz mermerkaya
        www.e-yillik.net
          ----- Original Message -----
          From: Emirhan
          To: linux-programlama@liste.linux.org.tr
          Sent: Tuesday, February 20, 2007 11:38 AM
          Subject: Re: [Linux-programlama] Sql sorgusu

          Arkadaşlar verdiğiniz cevaplar için teşekkür ederim. Ama bir türlü bu örnekleri uygulayamadım. Phpmyadmin üzerinden yapıyorum denemelerimi ve hepsinde yazım hatası veriyo. Ben bişeyleri yanlış yapıyorum ama bulamadım bir türlü. Standart select dışında karmaşık sql komutlarıyla daha önce hiç çalışmadım bunun acemiliğini çekiyorum. web üzerindede çeşitli örnekler buldum ama sorguyu yazamadım bir türlü. Affınıza sığınarak yardımlarınızı bekliyorum.

            ----- Original Message -----
            From: U. Emre TERZİ
            To: linux-programlama@liste.linux.org.tr
            Sent: Monday, February 19, 2007 3:57 PM
            Subject: RE: [Linux-programlama] Sql sorgusu

            Merhaba,

            SELECT no, adi

            FROM ogrenci

            WHERE sınıfı=’b’ AND

            (SELECT not FROM notlar WHERE no=ogrenci.no AND ders=’matematik’)=50 AND

            (SELECT not FROM notlar WHERE no=ogrenci.no AND ders=’turkce’)=80

            Kolay gelsin

            U. Emre TERZİ

--------------------------------------------------------------------

            From: linux-programlama-bounces@liste.linux.org.tr [mailto:linux-programlama-bounces@liste.linux.org.tr] On Behalf Of Emirhan
            Sent: Monday, February 19, 2007 9:25 AM
            To: linux-programlama@liste.linux.org.tr
            Subject: [Linux-programlama] Sql sorgusu

            Merhaba;
            Arkadaşlar ben php ve mysql ile bir çalışma yapıyorum ve çözmem gereken bir sorunum var. Mysql de
            aşağıdaki şekilde iki tablom var. B sınıfındaki öğrencilerden matematik dersinden 50 ve aynı
            zamanda türkçe dersinden 80 alan öğrencilerin isim listesini verecek sql sorgusu nasıl olmalıdır.
            Yardımlarınız için şimdiden teşekkür ederim.

            ogrenci
            -----------
            no adi sınıfı

            1 ali a
            2 veli a
            3 ayşe b
            4 emre c
            5 fatma b
            6 yeşim b

            notlar
            -----------
            no ders not

            1 matematik 50
            1 turkce 75
            2 matematik 45
            2 turkce 50
            3 matematik 50
            3 turkce 80
            4 matematik 65
            4 turkce 80
            5 matematik 50
            5 turkce 80
            6 matematik 85
            6 turkce 80

            Sorgu sonucu istenen
            --------------------
            no adi

            3 ayşe
            5 fatma

--------------------------------------------------------------------

            _______________________________________________
            Linux-programlama mailing list
            Linux-programlama@liste.linux.org.tr
            http://liste.linux.org.tr/mailman/listinfo/linux-programlama

----------------------------------------------------------------------

          _______________________________________________
          Linux-programlama mailing list
          Linux-programlama@liste.linux.org.tr
          http://liste.linux.org.tr/mailman/listinfo/linux-programlama

--------------------------------------------------------------------------
      Live.com'u deneyin - hızlı ve kişiselleştirilmiş giriş sayfanızla istediğiniz her şey tek bir yerde. tek bir yerde.

--------------------------------------------------------------------------

      _______________________________________________
      Linux-programlama mailing list
      Linux-programlama@liste.linux.org.tr
      http://liste.linux.org.tr/mailman/listinfo/linux-programlama

----------------------------------------------------------------------------

    _______________________________________________
    Linux-programlama mailing list
    Linux-programlama@liste.linux.org.tr
    http://liste.linux.org.tr/mailman/listinfo/linux-programlama

------------------------------------------------------------------------------

  _______________________________________________
  Linux-programlama mailing list
  Linux-programlama@liste.linux.org.tr
  http://liste.linux.org.tr/mailman/listinfo/linux-programlama

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.