PDA

View Full Version : سوال مرتب سازي



hamid_hr
شنبه 28 بهمن 1391, 19:42 عصر
سلام
من يك جدول دارم كه منطقه ها رو داخلش داره
مثلا: منطقه 1و منطقه 2 و منطقه 3 .... منطقه 12
خب وقتي select ميزنم مياد اينطوري بهم منطقه ها رو ميده
منطقه 1
منطقه 11
منطقه 12
منطقه 2
و ...
من بايد چطور مرتب كنم كه مناطق بصورت مرتب نشون داده بشن

Mahmoud.Afrad
یک شنبه 29 بهمن 1391, 00:14 صبح
نیازی نیست کلمه تکراری "منطقه" رو تکرار کنید. میتونید در select این کلمه رو اضافه کنید. فیلد رو از نوع int بگیرید و فقط اعداد 1 تا 12 رو داخلش اضافه کنید.
مثلا:

select 'منطقه ' + CAST(tbl.area as varchar)
from tbl
order by tbl.area



اگر هم اصرار دارید کلمه منطقه رو ذخیره کنید باید عدد رو از طریق متد substring بدست آورده به int تبدیل کنید و مرتب سازی براساس این عدد باشه:

select tbl.area
from tbl
order by CAST(SUBSTRING(tbl.area , 6 , LEN(tbl.area)-6) as int)


tbl نام جدول و area نام فیلد منطقه.

محمد سلیم آبادی
دوشنبه 30 بهمن 1391, 19:13 عصر
یا
select
col1
from
table_name
order by
replace(col1,'منطقه','') asc;