folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder SQL Sorgusu İçin Yardım



SQL Sorgusu İçin Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    fox89hakan
    fox89hakan's avatar
    Kayıt Tarihi: 03/Mayıs/2008
    Erkek

    salon sınırı felan yok deresnde okul ıd ve sınıf ıd sı aynı oalan ları saydır en falaz olan kadar salon ac

    salonlara 20 30 örencı sıgacak sekılde sınırlandır kafadan

    tek tek sınıf ıd ve okul ıd na göre yerlestır solanlara okul sınıf lıste sonuna gelınce okul ıd yı artır yer lestırecek donguyu yaz

    takı salon max ögrencı sayısı na ulansana kadar

    salon dolunca 2. salona gececek dönguyu yaz devam

    ---

    ama bazı salonlarda ögrencı az olur ona karısmam   1 msj göre derlersen salon lar felan sıkıntı cekmezsın

     nasıl yaıcanı belırle ona göre hızlı ca sonuc olusturalım

    fox89hakan tarafından 06/Mar/13 12:29 tarihinde düzenlenmiştir

    Döndürün dunyayı inmek istiyenler var
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    @fox89hakan

    İlk yazdığın mantıklı (Salon sayısı oldukça fazla, olumsuz ihtimalleri zaten engelledim.) (Son yazdığın mantıksız felan gibi algılanmasın :))

    @Sharp

    Hocam o konuda yardım edebilir misin?

    Belirli bir şeyden sonra kafam basmıyor.

    ontedi tarafından 06/Mar/13 12:44 tarihinde düzenlenmiştir

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    fox89hakan
    fox89hakan's avatar
    Kayıt Tarihi: 03/Mayıs/2008
    Erkek

    4 5 yıldır ugrasmadım ıcın pek bı cod yazmıyorum algorıtmayı tasarlarız ama

    salon sınırı felan belırle yoksa cıkamazsın bu ısın ıcınden 2 cı yazdımı yap dırek ama hoca her yerınden onada bı kulp takıcaktır

    bı solanda max 10 ogrencın aynı sınıfta olur sınırlarsan onlara da ıcınde bı dongu yaz aralarında mın 3 4 sıra olucak sekılde

     

    ----

    10 baya fazla oldu orayı 3 4 kısı olarak ayarlayalım

    fox89hakan tarafından 06/Mar/13 12:57 tarihinde düzenlenmiştir

    Döndürün dunyayı inmek istiyenler var
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    fox89hakan
    fox89hakan's avatar
    Kayıt Tarihi: 03/Mayıs/2008
    Erkek

    ösym nın sınav yerlestırme şaklı soyle galıba önu örnek alıp dusun
    sınava gırecekler toplanır ögr sayısı belırlernır

    salon kapasıtesı belırlersın bı salonda kac kısı gırecek mısal salonda 20 kısı her sırada 1 kısı


    ögrencı sayısı / 20 yapı salon sayısını belırlersın

    ondan sonra da yerlestırmeye baslarsın 1.okul 1. sınıf ögrencısınden

     

    ögrencı talosunnun sıralamasını söyle yaarsan hallolucak 

    okul ıd, sınıf ıd nı alarak sıralama yaparsın

    1.okul 1.sınıf 1. ögrencı sınıf ögrencılerı bıtınce 1.okul 2.sınıf 1.ögrencı

    taloya bu sıralma ıle ögrencılerı sıralayı oradan yerlestırme yaparsan hıc bı proplemın kalmaz..

    az daha ugrasırsam codları yazmaya başalrım ama işlerımden bakamıyom :S

     


    Döndürün dunyayı inmek istiyenler var
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sharp
    Sharp's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    ontedi bunu yazdı

    @fox89hakan

    İlk yazdığın mantıklı (Salon sayısı oldukça fazla, olumsuz ihtimalleri zaten engelledim.) (Son yazdığın mantıksız felan gibi algılanmasın :))

    @Sharp

    Hocam o konuda yardım edebilir misin?

    Belirli bir şeyden sonra kafam basmıyor.

    tabi ki hocam birde zaten max salon kapasitesi falanda olacak salondaki mevcut öğrenciler sayılacak vs iş çok bitirelim :)


    www.yesilgrow.com - Growshop
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    isoT
    isoT's avatar
    Kayıt Tarihi: 15/Nisan/2007
    Erkek

    şöyle olabilir mi ?

    yerleştirdiğimiz öğrencileri bir dizi içinde tuttuğumuzu varsayalım.

    SELECT ogrenci_ID FROM tblOgrenciler WHERE ogrenci_ID NOT IN (YerlestirilenOgrencilerDizisi) GROUP BY okul_ID, sinif_ID ORDER BY RAND() LIMIT 25

    bu sorgu her okuldaki her siniftan birer öğrenci seçecek, sonucu karıştıracak ve 25 tanesini bize verecek.

    (25 i burada sınıf kapasitesi olarak düşünelim)

    bu elde ettiğimiz 25 öğrencinin ID sini dizimize eklersek tekrardan sorguya dahil edilmeyecekler. Böylece her seferinde yeni bir benzersiz 25 kişi gelecek.

     

     

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Austen
    Austen's avatar
    Kayıt Tarihi: 13/Ağustos/2012
    Erkek

    ASP bilmiyorum ama genel mantığını anlatabilirim;


    Şimdi öncelikle ilk öğrenciler tablosundan random bir öğrenci seçiyoruz;

    select tc,sinif_ID from tblogrenciler order by rand() limit 1

    Daha sonra asp de bunları ayrıştırıp tc ve sinifid şeklinde 2 tane değişken haline getirmen lazım. Php den örnek verecek olursam;

    $result = $sql->query('select tc,sinifID from tblogrenciler order by rand() limit 1');
    
    $result = $result->fetch_array();
    $tc = $result[0];
    $sinif = $result[1];


    Daha sonra ikinci sorguyla ikinci tabloda, bizim sınıfımızla aynı sınıfta bulunan birisinin yer almadığı bir salondan random siraId alıyoruz;

        select siraID from tblsinav_salon_siralari
        where ogrenciId is null and salonID not in (select salonID from tblsinav_salon_siralari where ogrenciId in (select tc from tblogrenciler where sinifID = $sinif))
        order by rand() limit 1


    Alan adlarına takılma. Kendine göre düzenlersin ben şimdi mantığı kurarken öylesine yazdım bazılarını. SOrguda sinifId = $sinif kısmı var. Burada ilk sorguda çektiğimiz random öğrencinin sinif numarası var. Ona göre sorguluyoruz.

    Bu sorgu sana random bir sira numarası verir. Sonrasında sen üstte random aldığın öğrenciyi o sıra numarasına yerleştirmelisin.


    Birde tabi aynı öğrencinin random olarak ikinci defa seçilmemesi gibi sorgularında eklenmesi lazım. Orasıda sana kalmış. Benden bu kadar :) Sistemin php olsaydı çalışır halde kod verebilirdim ama asp bilgim yok.


    Karışık olabilir ama ana hatları anlarsan gerisini rahatça halledersin diye düşünüyorum.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Ben olsam önce öğrencileri sınıfa göre dizerim.


    sonra başka bir temp tablo yada sorguya sınıfları dizerim

    ve

    bossiniflar[ i mod toplamsinifsayisi].Add ( ogrenci[i]  )

    seklinde dizerim. SP ile yapılabilir.

    Böyle yaparım çünkü başka türlü sınıf sayısının ortalama bir siniftaki ogrenci sayisindan az olmasi gibi bir durum olusabilir bu durumda mecburen iki sınıf arkadasini ayni sınıfta sınav yapmak gerekebilir.

    yukarıdaki şekilde yaparsan bu gibi özel durumlarda sorun çıkmaz


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
Toplam Hit: 1828 Toplam Mesaj: 19