folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Sql Sorgu İşlemi Yardım



Sql Sorgu İşlemi Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    infazteam
    infazteam's avatar
    Kayıt Tarihi: 09/Kasım/2015
    Erkek

    Merhabalar hocalar. bir sorum olacaktı. 10.000 adet random rakam var.

    bu sayılar için de mesala istediğim numaralar 3-8-16 bu sıraya göre sorgu çekilecek databese de bu sıraya göre aynı numaralar var ise bundan sonra hangi rakam gelmiş onunun sorgusu gerekiyor yardımınıza ihtiyacım var. Teşekürler.

    c# kullanıyorum

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    infazteam
    infazteam's avatar
    Kayıt Tarihi: 09/Kasım/2015
    Erkek

    Up

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Örnek bir tablo yapısı (veri ekli olarak) paylaşırsan isediğin şey daha anlaşılır hocam.


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    infazteam
    infazteam's avatar
    Kayıt Tarihi: 09/Kasım/2015
    Erkek
    coder2 bunu yazdı

    Örnek bir tablo yapısı (veri ekli olarak) paylaşırsan isediğin şey daha anlaşılır hocam.

    şöyleki c# 3 tane text box var.  bu üç text box'a   rakamlar girdiğimizi düşünelim .   

    1'ci  text box      10   

    2'ci text box       21

    3'cü text box      1

    butona tıkladığımda sorguyu çekecek  bana databesedeki 10.000 rakamdan bu sıra  gibi (10,21,1) olan rakamı bulup 1 numaradan sonraki rakam hangisi ise onu göstermesini istiyorum

    örnek 

    databesedeki numaralar=   2-60-36-75-80-12-75-12-1-2-4-87-36-56-85-45-74-41-61-82-36-10-21-1-9-8-91-41-25-

    text box a girilen nuamralr 10-21-1 numaraydı . databese sonucuna göre bana 9 numarasını vermsi gerekiyor.

    böyle birsey hocalar umarım anlatabilmişimdir.

     

     

     

     

     

     

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    ArrayList sayilar =new ArrayList<>();

    for(int i =0;i<sayilar.size()-2;i++)
    {

    if(sayilar.get(i)===sayi1&&sayilar.get(i+1)===sayi2&&sayilar.get(i+2)===sayi3&&i+2!=sayilar.size())

    {

    Console.Write(sayilar.get(i+3));

    break;

    }

    }

     

    C# ile yap sadece sayi arıyorsan böyle yapabilirsin. LinkedList olmalı cünkü listenin sırasına göre iş yapıyorsun. BST falan yapabilir misin bilmiyorum. 

    Veya BST ye dönersin position değerlerini de kayıt edersin nodelara. Position değerlerini karşılaştırırsın. Sonra bir sonraki sayıyı getirirsin.

    Başka da aklıma bir şey gelmiyor. 

    Sayılar column içinde olsaydı REGEX ile yap derdim ama. sanırım satır satır.

     

    MhmdAlmz tarafından 26/Mar/18 19:01 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    infazteam
    infazteam's avatar
    Kayıt Tarihi: 09/Kasım/2015
    Erkek
    MhmdAlmz bunu yazdı

    ArrayList sayilar =new ArrayList<>();

    for(int i =0;i<sayilar.size()-2;i++)
    {

    if(sayilar.get(i)===sayi1&&sayilar.get(i+1)===sayi2&&sayilar.get(i+2)===sayi3&&i+2!=sayilar.size())

    {

    Console.Write(sayilar.get(i+3));

    break;

    }

    }

     

    C# ile yap sadece sayi arıyorsan böyle yapabilirsin. LinkedList olmalı cünkü listenin sırasına göre iş yapıyorsun. BST falan yapabilir misin bilmiyorum. 

    Veya BST ye dönersin position değerlerini de kayıt edersin nodelara. Position değerlerini karşılaştırırsın. Sonra bir sonraki sayıyı getirirsin.

    Başka da aklıma bir şey gelmiyor. 

    Sayılar column içinde olsaydı REGEX ile yap derdim ama. sanırım satır satır.

     

    Hocam yardiminiz icin tesekur ederim. Fakat sql sorgusu olasak istemistim ben 

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    siyahbereli
    siyahbereli's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek
    infazteam bunu yazdı
    MhmdAlmz bunu yazdı

    ArrayList sayilar =new ArrayList<>();

    for(int i =0;i<sayilar.size()-2;i++)
    {

    if(sayilar.get(i)===sayi1&&sayilar.get(i+1)===sayi2&&sayilar.get(i+2)===sayi3&&i+2!=sayilar.size())

    {

    Console.Write(sayilar.get(i+3));

    break;

    }

    }

     

    C# ile yap sadece sayi arıyorsan böyle yapabilirsin. LinkedList olmalı cünkü listenin sırasına göre iş yapıyorsun. BST falan yapabilir misin bilmiyorum. 

    Veya BST ye dönersin position değerlerini de kayıt edersin nodelara. Position değerlerini karşılaştırırsın. Sonra bir sonraki sayıyı getirirsin.

    Başka da aklıma bir şey gelmiyor. 

    Sayılar column içinde olsaydı REGEX ile yap derdim ama. sanırım satır satır.

     

    Hocam yardiminiz icin tesekur ederim. Fakat sql sorgusu olasak istemistim ben 

    Select * from random_sayilar where ? ASC or DESC.. +1 gibi bir sorgu istiyorsun he ?

    zaten MhmdAlmz hocamızın da dediği gibi Colum değilse veriler sorgu şişer patlar yaz yaz biter mi bilemem? boş konuşmak için gelmedim takipteyip aydınlatan olacaktır.

    kolay gelsin

     

    siyahbereli tarafından 26/Mar/18 21:05 tarihinde düzenlenmiştir

    Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun...Yapın pişman olun, yada yapmayın yine pişman olun.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    infazteam
    infazteam's avatar
    Kayıt Tarihi: 09/Kasım/2015
    Erkek
    siyahbereli bunu yazdı
    infazteam bunu yazdı
    MhmdAlmz bunu yazdı

    ArrayList sayilar =new ArrayList<>();

    for(int i =0;i<sayilar.size()-2;i++)
    {

    if(sayilar.get(i)===sayi1&&sayilar.get(i+1)===sayi2&&sayilar.get(i+2)===sayi3&&i+2!=sayilar.size())

    {

    Console.Write(sayilar.get(i+3));

    break;

    }

    }

     

    C# ile yap sadece sayi arıyorsan böyle yapabilirsin. LinkedList olmalı cünkü listenin sırasına göre iş yapıyorsun. BST falan yapabilir misin bilmiyorum. 

    Veya BST ye dönersin position değerlerini de kayıt edersin nodelara. Position değerlerini karşılaştırırsın. Sonra bir sonraki sayıyı getirirsin.

    Başka da aklıma bir şey gelmiyor. 

    Sayılar column içinde olsaydı REGEX ile yap derdim ama. sanırım satır satır.

     

    Hocam yardiminiz icin tesekur ederim. Fakat sql sorgusu olasak istemistim ben 

    Select * from random_sayilar where ? ASC or DESC.. +1 gibi bir sorgu istiyorsun he ?

    zaten MhmdAlmz hocamızın da dediği gibi Colum değilse veriler sorgu şişer patlar yaz yaz biter mi bilemem? boş konuşmak için gelmedim takipteyip aydınlatan olacaktır.

    kolay gelsin

     

    Evet hocam select * from tarzinda 

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gizem
    sLeymN
    sLeymN's avatar
    Kayıt Tarihi: 31/Mart/2008
    Erkek

    tablona id ve sayilar diye alan aç, id autoincrement olsun. row number niyetine kullanacaz bu alanı. 

    select top 1  sayi from sayilar where id > (select id from sayilar where sayi = ?parametreSayi?) order by id asc   --> mssql için

     

    select sayi from sayilar where id > (select id from sayilar where sayi = ?parametreSayi?) order by id asc  limit 1  --> bu da mysql için 

     

    select * from (select sayi from sayilar where id > (select id from sayilar where sayi = ?parametreSayi?) order by id asc) where rownum  = 1  --> oracle 11g 

    db olmayınca workbench yapamadım ama 1 2 milyona kadar rahat çalışır sıkıntı olacağını sanmıyorum. Bak eğer uzun sürüyor çalışma zamanı tekrar deneyelim join ile yapalım

     


    Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    soyle bir sema olusturdum, sqlfiddle i da atacam zaten de, forumda da dursun iyidir,

    create table numbers(id int, number int);

    insert into numbers(id, number) values(0, 5);
    insert into numbers(id, number) values(1, 3);
    insert into numbers(id, number) values(2, 6);
    insert into numbers(id, number) values(3, 9);

    sorgu da bu, 

    select s.number3 as next_number from
    (
    select t.id, t.number as number0,
    lead(t.number, 1, 0) over(order by t.id asc) as number1,
    lead(t.number, 2, 0) over(order by t.id asc) as number2,
    lead(t.number, 3, 0) over(order by t.id asc) as number3
    from numbers t
    ) s
    where s.number0 = 5
    and s.number1 = 3
    and s.number2 = 6

     

    http://sqlfiddle.com/#!18/c231c/16

     

    guru tarafından 27/Mar/18 19:27 tarihinde düzenlenmiştir

    ..
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek

    tablo 

    id ve sayi olsun

    sayilar xyz olsun

    select d.sayi from 

    (select * from sayilar) as a

    left join

    (select * from sayilar) as b on (b.id=a.id+1)

    left join

    (select * from sayilar) as c on (c.id=a.id+2)

    left join

    (select * from sayilar) as d on (d.id=a.id+3)

    where (a.sayi=x and b.sayi=y and c.sayi=z)

     

    olmazmı


    |sadece aptalların başarısı ders notu ile ölçülür|
Toplam Hit: 3398 Toplam Mesaj: 18
c# random databese