folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder MYSQL - 2 Tablo Birleştirme Ve Hariç Fonksiyonu



MYSQL - 2 Tablo Birleştirme Ve Hariç Fonksiyonu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    legendary
    legendary's avatar
    Kayıt Tarihi: 26/Ağustos/2005
    Erkek

    Merhaba;

    Şimdi elimde iki tablo var tbl_ogrenci ve tbl_deney_grubu
    tbl_deney_grubu tablosunda id ve ogrenci kolonları var ve burada deney grubuna katılan öğrencilerin id leri tutuluyor.
    tbl_ogrenci de de öğrencilerin bilgileri. Bir sayfada deney grubuna girmeyen öğrencilerin listelemesini yapmam lazım

    Öğrencilerin tamamını listelerken standart aşağıdaki sorguyu  çalıştırıyorum.
    $sorgu = "select * from tbl_ogrenci order by id desc";

    Örneğin tbl_deney_grubu nda 1,2,3,4 nolu idler var. Ben tbl_ogrenci den bu 1,2,3,4 nolu idler hariç diğer öğrencileri getirmesi için aşağıdaki satırı yazdım. Ancak sorgu 4 kere dönüyor her öğrencinin adını 4 kere 1,2,3,4 id li öğrencilerin adını 3 kere yazıyor.

    $sorgu = "select * from tbl_ogrenci,tbl_deney_grubu WHERE tbl_deney_grubu.ogrenci != tbl_ogrenci.id";

    Aynısını
    $sorgu = "select * from tbl_ogrenci,tbl_deney_grubu WHERE tbl_deney_grubu.ogrenci <> tbl_ogrenci.id";  
    olarakta denedim.

    Bu konuda bir fikri olan varsa çok sevinicem, kafayı yemek üzereyim. 

     


    yaratıcılık uçmak değil konmaktır...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    tam olarak soruyu anlayamadım olduğum ortmadan dolayı. ama gördüğüm kadarıyla eksik "join"

     

    select * from tbl_ogrenci inner join tbl_deney_grubu on tbl_deney_grubu.ogrenci=tbl_ogrenci.id

    bu şekilde bir dene. olmazsa sonuna aşağıdakini ekle

     WHERE tbl_deney_grubu.ogrenci != tbl_ogrenci.id";


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    legendary
    legendary's avatar
    Kayıt Tarihi: 26/Ağustos/2005
    Erkek

    İlk verdiğin satır aşağıda yazdığımla aynı sonucu veriyor. Yani sadece deney grubunda olan öğrencileri listeliyor. 
    Benim istediğim deney grubunda olan öğrecilerin haricindekiler listelensin. 


     $sorgu = "select * from tbl_ogrenci,tbl_deney_grubu WHERE tbl_deney_grubu.ogrenci = tbl_ogrenci.id"; 


    yaratıcılık uçmak değil konmaktır...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    where i eklediğinde ne oluyor? yazdığın şarttaki gibi != şekilde ya da <>


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    legendary
    legendary's avatar
    Kayıt Tarihi: 26/Ağustos/2005
    Erkek

    where i eklediğimde hiç satır dönmüyor. 


    yaratıcılık uçmak değil konmaktır...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    şuan aklıma bir şey gelmiyor hocam. uygun değilim pek yapabilmek için. eğer kimse yardım etmsezse yarın özel mesaj atarsan çözeriz


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    legendary
    legendary's avatar
    Kayıt Tarihi: 26/Ağustos/2005
    Erkek

    Eyvallah kardeşim. Bakalım bunu çözemez isem uyamamam bu gece :)


    yaratıcılık uçmak değil konmaktır...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unix
    Andrei
    Andrei's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Aralık/2008
    Erkek

    hocam sorunu tam anlayamamıs olabilirim.

    Oracle icin söyle söyleyeyim, simdi DENEY ve OGRENCI adında 2 tablom var.

    iki tablonun da kolonları ID ve AD olsun, ögrenci bilgisi dedigin kolonda ögrenci isimleri yazıyor diyelim.

    ID 1'den itibaren isimler deniz, murat, ayse, fatma, elif, zülal, özgür, seda olsun.

    simdi,

    select * from OGRENCI

    NATURAL JOIN DENEY

    WHERE ID not in (1,2,3,4); //veya WHERE ID > 4;

    dersek, bize ilk 4 ID dısındaki elif, zülal, özgür, seda sonuclarını döndürür OGRENCİ kolonundan, acaba senin istedigin sey tam olarak bu mu ?

    ya da örnek olsun diye mi ilk 4 ID'yi sordun ?

     

    %40 indirimli olarak "Centos Sistem ve Sunucu Yönetimi" adlı kitabımızı satın alarak, Linux üzerine yapılacak olan devam projeleri icin destekte bulunabilirsiniz : http://www.hepsiburada.com/centos-sistem-ve-sunucu-yonetimi-oku-izle-dinle-ogren-p-KKODLAB01579
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    onparlak
    onparlak's avatar
    Kayıt Tarihi: 21/Şubat/2012
    Erkek

    Hocam arkadaş heralde örnek olsun diye 4 dedi,bunu tbl_ogrenci.id > tbl_deney.id şeklindede yaparız diye düşünüyorum ama ne kadar sağlıklı olur meçhul


    http://parelsoft.com/ || http://torrentdeposu.com/
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unix
    Andrei
    Andrei's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Aralık/2008
    Erkek

    öyle bile olmus olsa JOIN fonksiyonu kullanmadan olmaz o is.

    kendimiz görseydik tabloları daha iyi olurdu.


    %40 indirimli olarak "Centos Sistem ve Sunucu Yönetimi" adlı kitabımızı satın alarak, Linux üzerine yapılacak olan devam projeleri icin destekte bulunabilirsiniz : http://www.hepsiburada.com/centos-sistem-ve-sunucu-yonetimi-oku-izle-dinle-ogren-p-KKODLAB01579
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    legendary
    legendary's avatar
    Kayıt Tarihi: 26/Ağustos/2005
    Erkek

    inner joinsizde çalışıyor. sıkıntı yaratmıyo o ben hep öyle kullanıyorum. 

    Sorunu her ne kadar istediğim şekilde çözemesemde;

    Deney grubuna alınan öğrencilerin insert edildiği bölüme aşağıdaki satırı,

    $sorgu2 = “UPDATE `tbl_ogrenci` SET  `durum` = ’2′  WHERE `id` = “.$_POST["kid"].” LIMIT 1 ;”;

    Öğrenci listelemesinde de aşağıdaki satırı;

    $sorgu = “select * from tbl_ogrenci where durum = 1 order by id desc”;

    kullanarak çözdüm. 

    Ama ilk mesajda belirttiğim gibi olursa daha iyi olucak


    yaratıcılık uçmak değil konmaktır...
Toplam Hit: 2396 Toplam Mesaj: 12