|
|
|
Помогите советом... (сортировка по частям строки)
|
|||
|---|---|---|---|
|
#18+
есть текстовое поле следующего вида "20/38" если ставить обычную сортировку в запросе то получается: 20/38 20/39 20/40 21/38 21/39 21/40 и т.д. а надо: 20/38 21/38 20/39 21/39 20/40 21/40 есть ли какое нить красивое решение путем запроса... или придеться разбивать на два поля и сортировать в обратном порядке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 15:55 |
|
||
|
Помогите советом... (сортировка по частям строки)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Говори как переименовывать. Или переименую как-нибудь (потом не найдешь ) Ну и переименовал как-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 16:00 |
|
||
|
Помогите советом... (сортировка по частям строки)
|
|||
|---|---|---|---|
|
#18+
В запросе-то сделать можно только вряд ли такое решение можно назвать красивым. В зависимости от базы данных (mdb или SQL) разбить текстовое поле с помощью функций (MID=MDB, SUBSTRING=SQL и др.) а затем объединить в обратном порядке и отсортировать Если разрядность до и после слеша может меняться то выражение будет сложнее, если же по два символа всегда, выражение будет проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 16:01 |
|
||
|
Помогите советом... (сортировка по частям строки)
|
|||
|---|---|---|---|
|
#18+
В своем запросе в ORDER BY пиши примерно следующее: ORDER BY right$([Твое поле],2), left$([Твое поле],2) и будет тебе счастье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 16:05 |
|
||
|
Помогите советом... (сортировка по частям строки)
|
|||
|---|---|---|---|
|
#18+
select * from test order by substring(test, charindex('/',test),len(test)-charindex('/',test)+1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 16:08 |
|
||
|
Помогите советом... (сортировка по частям строки)
|
|||
|---|---|---|---|
|
#18+
Забыл результат показать: test ---------- 20/38 21/38 21/39 20/39 20/40 21/40 (6 row(s) affected) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 16:09 |
|
||
|
Помогите советом... (сортировка по частям строки)
|
|||
|---|---|---|---|
|
#18+
Не, вот так: select * from test order by substring(test, charindex('/',test)+1,len(test)-charindex('/',test)), left(test, charindex('/',test)-1) test ---------- 20/38 21/38 20/39 21/39 20/40 21/40 (6 row(s) affected) Ну в Аксцессе какой-то другой синсаксис конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2003, 16:16 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32298673&tid=1678752]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
76ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 343ms |

| 0 / 0 |
