• 16-10-2015, 17:59:39
    #1
    A tablosu
    ad alanı
    ali
    veli
    osman

    B tablosu
    ad alanı
    ali
    veli
    osman
    ali
    ali
    veli
    veli
    veli
    osman
    ali

    bu şekilde 2 tablo var diyelim

    A tablosundaki "ad" ları B tablosunda hangisi çoksa o üstte olacak şekilde sıralamak istiyorum...


    Aradığım şeyi tam olarak bilmediğim için sitede de bulamadım konu açılmışsa kusura bakmayın.
  • 16-10-2015, 21:26:56
    #2
    kolay görünsün diye bu şekilde yazdım... saçma olmuş ama söylediğim şeyi bu tablolara göre sorgulayacak biri varsa işimi görecektir
  • 16-10-2015, 21:55:04
    #3
    Yanıtın işinize yaramama ihtimali yüksek. Kolay görünmesin gerçek yapıyı paylaşırsanız daha sağlıklı yanıt alabilirsiniz.
    Bu yapıda ikinci tabloda olan muhakkak 1inci tablodada vardır izlenimi var. count(ad) as say ve group by say desc kullanarak isimleri çoktan aza sıralattırabilirsiniz.
    select *,count(ad) as say from ikincitablo group by ad order by say desc; gibi.
  • 16-10-2015, 22:58:54
    #4
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    Yanıtın işinize yaramama ihtimali yüksek. Kolay görünmesin gerçek yapıyı paylaşırsanız daha sağlıklı yanıt alabilirsiniz.
    Bu yapıda ikinci tabloda olan muhakkak 1inci tablodada vardır izlenimi var. count(ad) as say ve group by say desc kullanarak isimleri çoktan aza sıralattırabilirsiniz.
    select *,count(ad) as say from ikincitablo group by ad order by say desc; gibi.
    aynen öyle üstad...2. tabloda olan mutlaka 1. tabloda var... nasıl yazarım?
  • 16-10-2015, 23:27:35
    #5
    merhaba,
    aynen öyleyse zaten yanıt verdim size
    verdiğim kodu çalıştırırsanız adedi çok olandan aza doğru sıralamış olursunuz isimleri.

    hakyadaadalet adlı üyeden alıntı: mesajı görüntüle
    aynen öyle üstad...2. tabloda olan mutlaka 1. tabloda var... nasıl yazarım?
  • 16-10-2015, 23:31:42
    #6
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    merhaba,
    aynen öyleyse zaten yanıt verdim size
    verdiğim kodu çalıştırırsanız adedi çok olandan aza doğru sıralamış olursunuz isimleri.
    ama 1. tabloda olan 2. tabloda olmayabilir ben onlarıda en sondada olsa yazdırmam lazım dolayısı ile iç içe sorgu yazmam gerekiyor tek olmaz
  • 16-10-2015, 23:42:35
    #7
    o zaman ;
    SELECT * , count( iki.ad ) AS c
    FROM `bir`
    LEFT JOIN iki ON bir.ad = iki.ad
    GROUP BY iki.ad
    ORDER BY c DESC
    hakyadaadalet adlı üyeden alıntı: mesajı görüntüle
    ama 1. tabloda olan 2. tabloda olmayabilir ben onlarıda en sondada olsa yazdırmam lazım dolayısı ile iç içe sorgu yazmam gerekiyor tek olmaz
  • 17-10-2015, 11:47:47
    #8
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    o zaman ;
    SELECT * , count( iki.ad ) AS c
    FROM `bir`
    LEFT JOIN iki ON bir.ad = iki.ad
    GROUP BY iki.ad
    ORDER BY c DESC
    çok teşekkürler üstad. çalıştı... allah razı olsun