Kategori arşivi: Algoritma

oracle sql taktik (tip or trick)

Sabit sorgu ifadesi ile dinamik sorgu ihtiyacını karşılama örneği:
(Bu yöntem programlama dilleri ile dinamik sorgulama yapılmak istendiğinde de kullanılabilir.)

create table tablo ( no number, hata_flag number, uyari_flag number, aciklama varchar2(4000) );

hata = 1 …ise mesaj like ‘%H%’ — olup olmadığı kontrolü
uyari = 1 ..ise mesaj like ‘%U%’ — olup olmadığı kontrolü

şeklinde kontroller yapılmak isteniyor. Bu durumun ifadesi,
1 = (kendisi ve olay) ise kendisi yoksa kendisinin tersi

select *
from tablo
where 1 = case when hata_flag=1 and aciklama like '%H%' then 1
               else case when hata_flag=1 then 0
                         else 1
                    end
          end
and   1 = case when uyari_flag=1 and aciklama like '%U%' then 1
               else case when uyari_flag=1 then 0
                         else 1
                    end
          end

lig usulü karşılaşma takvimi oluşturma algoritması

Lig usulü (turnuva) yani her takımın her takımla maç yapacak şekilde karşılaşma takvimi oluşturmak için kullanılabilecek algoritma. Aşağıdaki şekilde görüldüğü gibi 1 nolu takımı sabit tutatarak diğer takımları sırasıyla birinci takımla karşılaşacak şekilde döndürülürse tüm takımların diğer tüm takımlarla karşılaşma yapması sağlanmış olur. (Kaynak: Round Robin Tournament)

lig_takvimi