• 24-10-2017, 16:06:53
    #1
    Merhaba arkadaşlar
    kosucu tablomdan verileri bu şekilde çekiyorum
    select * from kosucu where kosucu.status=1 order by adi asc
    fakat birde koşucular için oluşturulan bagis tablosu var ve o tabloda kosucu_id sütünunda bir koşucuya 10 tane bagis gelmiş
    sıralamamı buna nasıl yaparım?
  • 24-10-2017, 16:16:00
    #2
    ilk sorgudan aldığın resultset döngü içinde kullan ve döngüye kulbu farklı olan ikinci sorguyu yaz örneğin $q = $db->query() şeklinde ilk sorguyu çekiyorsan while($a = $q->fetch() { $q2 = $db->query()... şeklinde bağışları çekebilirsin.
  • 24-10-2017, 16:26:39
    #3
    Her koşucuya gelen bağış adetini bulmak istiyorsan ve bagis tablonda id alanı varsa aşağıdaki sorgu işini görebilir.
    select a.id,a.adi, count(bagis.id) from kosucu a, bagis b where a.id=b.kosucuid group by a.id, a.adi order by a.adi asc
  • 24-10-2017, 16:36:43
    #4
    Ben anlatmak istediğimiz yanlış anlatmadıysam yukarıdaki yazdığım sorgudaki order bu kısmını bagis tablosundaki veriye göre yapmak istiyorum.
    en çok bağışçıya ulaşanı en üstte göstermek istiyorum.
    Yardımlarınız için teşekkürler.
  • 24-10-2017, 16:48:59
    #5
    Selamlar. Aşağıdaki kodu kendi alanlarınıza göre düzenleyerek dener misiniz?
    select (select count(*) from bagis where bagis.kosucuid = kosucu.id), kosucu.* from kosucu order by 1 desc
  • 24-10-2017, 16:54:33
    #6
    Teşekkür ederim oldu merakımdan hemen sorayım order by 1 dedik ya bu 1 ne oluyor ?
  • 24-10-2017, 17:19:28
    #7
    BuRaKM adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim oldu merakımdan hemen sorayım order by 1 dedik ya bu 1 ne oluyor ?
    Rica ederim. Sorgudaki 1 numaralı kolona göre sıralamasını sağlıyor. Mesela select kosucu.adi, kosucu.soyadi, (select count(*) from bagis where bagis.kosucuid = kosucu.id)...... yapmış olsaydık bu sefer order by 3 dememiz gerekecekti.