none
order by sorunu RRS feed

  • Soru

  • "istediğim şey sıralamak" ama istediğim kelimeye göre yani bir şehir sütununu istediğim şehirin ilk başta gelmesini istiyorum. diğer şehirler sonrada gelebilir gibi. bunu order by ile yapabilirmiyiz ?
    24 Ocak 2014 Cuma 19:20

Yanıtlar

  • Ne fark eder ki? Ben 1 veya 0 demedim, basit oldugu icin case ... diyip gectim. Ornegin Northwind..Customers tablosunu dusun. Country ile siaralansin ama once 'USA' olanlar olsun:

    select * from Customers
    order by
    case when Country = 'USA' then '' else Country end
    select ad,soyad from ogrenciler 
    order by case when ad = 'cemil' then '' else ad end



    • Düzenleyen CetinBasoz 26 Ocak 2014 Pazar 14:52
    • Yanıt Olarak İşaretleyen kuranta 26 Ocak 2014 Pazar 17:00
    26 Ocak 2014 Pazar 14:51

Tüm Yanıtlar

  • evet.

    order by case when .... else .... end

    24 Ocak 2014 Cuma 20:32
  • Merhaba

    Aklıma Şöyle bir şey geldi geliştirebilirsiniz.

       // Örneğin comboboxun en üstünde 3 tane il var diyelim.
                comboBox1.Items.Add("İstanbul");
                comboBox1.Items.Add("Ankara");
                comboBox1.Items.Add("İzmir");
    
                DataTable t1 = new DataTable();
                SqlConnection conn = new SqlConnection("Connectin string koyulacak");
                conn.Open();
                string query = "SELECT sehir FROM sehirler where sehir not in (@sehir1,@sehir2,@sehir3) order by sehir asc"; // üstteki 3 şehir haric diğerlerini sıralayıp getir.
                SqlCommand cmd = new SqlCommand(query, conn); 
                cmd.Parameters.Add("@sehir1", "İstanbul");
                cmd.Parameters.Add("@sehir2", "Ankara");
                cmd.Parameters.Add("@sehir3", "İzmir");
                SqlDataAdapter a = new SqlDataAdapter(cmd);
                a.Fill(t1);
    
                for (int i = 0; i < t1.Rows.Count; i++)
                {
                    comboBox1.Items.Add(t1.Rows[i]["sehir"].ToString()); // Diğer sehirleri comboya yazdır.
                }
                
                // Kodu geliştirebilirsiniz.

    Cetin beyin söylediği kullanımıda araştırmak gerekir. daha basit görünüyor :) az kod hem :)

    İyi çalışmalar

    24 Ocak 2014 Cuma 20:50
  • Çetin bey 1'se şunu yap 0'sa şunu yap gibi değilde order by içerisinde nvarchar kullanarak sıralamak istiyorum ya sehiri örnek verdim ogrenci sutunu düşünün bu öğrenci sütünunda alileri en başta görmek istiyorum . diğerleri sonra gelecek.

    örn "select ad,soyad from ogrenciler order by ad" dicem ama ad kısmında alfabetik değilde cemilden başlamasını istiyorum . 

    24 Ocak 2014 Cuma 21:05
  • Bence sql tarafında bu şekilde bir kullanım yapmak zor olabilir ama .net tarafında bu işlem daha kolay olabilir. yazdıgın kodu ve yapmak istediğini net belirtirseniz yardım etmemiz kolay olacaktır. order by değişik kullanımları vardır. order by isim asc, id desc gibi.
    24 Ocak 2014 Cuma 22:00
  • Ne fark eder ki? Ben 1 veya 0 demedim, basit oldugu icin case ... diyip gectim. Ornegin Northwind..Customers tablosunu dusun. Country ile siaralansin ama once 'USA' olanlar olsun:

    select * from Customers
    order by
    case when Country = 'USA' then '' else Country end
    select ad,soyad from ogrenciler 
    order by case when ad = 'cemil' then '' else ad end



    • Düzenleyen CetinBasoz 26 Ocak 2014 Pazar 14:52
    • Yanıt Olarak İşaretleyen kuranta 26 Ocak 2014 Pazar 17:00
    26 Ocak 2014 Pazar 14:51
  • Teşekkür ettim dünkü ip ucunuzla hallettim.
    26 Ocak 2014 Pazar 17:00