|
|
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
Есть запрос SELECT gd_id, IIF(gd_name LIKE '%строка%', gd_name, null) AS gd_name, IIF(gd_descr LIKE '%строка%', gd_descr,null) AS gd_descr, IIF(gd_compl LIKE '%строка%', gd_compl, null) AS gd_compl FROM Goods WHERE gd_name LIKE '%строка%' OR gd_descr LIKE '%строка%' OR gd_compl LIKE '%строка%' ORDER BY gd_name, gd_descr, gd_compl Запрос выводит, соответственно, три колонки. Поля, не отвечающие критерию в IIF, становятся null, поля отвечающие, выводят реальное текстовое содержимое. Теперь мне нужно сделать так, чтобы строки, в которых полей с NULL меньше всего, были наверху, а те которые содержат 1 поле с null были ниже по релевантности, те которые имеют 2 поля null еще ниже. Не совсем понимаю, как это сделать. Помогите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 14:32 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
Пишем функцию: function XXX(paramarray a)as integer dim v as variant,n as integer n=0 for each v in a if isnull(v)then n=n+1 next XXX=n end function В запросе добавляем вычисляемое поле: XXX(field1,dield2,field3,...) И сортируем по нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 14:35 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
саныч а вроде у вас даже в лифтах кнопки нельзя жать в субботу? )) можно и так Код: plaintext 1. у MSSQL вроде есть директива для такой сортировки. в аксессе скорее всего нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:04 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
мой ответ неправильный я невнимательно прочел постановку задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:07 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
alexeyK-homeсаныч а вроде у вас даже в лифтах кнопки нельзя жать в субботу? )) Будешь смеяться, но ровно полчаса назад я с этим столкнулся. У нас есть "субботние лифты" - они сами останавливаются на каждом этаже, без нажимания на кнопки. А сегодня я должен был ехать к своим друзьям в Ашдод помогать переезжать на новую квартиру. И ровно полчаса назад они мне позвонили, что все отменяется. Из двух лифтов в доме один еще не пущен, а второй работает в субботнем режиме, но в результате какого-то бага останавливается только на первом этаже и на последнем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:20 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
надо же а я думал что это шутка местная...))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:28 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
На самом деле я не знаю, для чего эти субботние лифты нужны. Потому что в субботу запрещено вообще ездить на чем угодно, если там участвует электричество (даже если двигатель бензиновый, а электричество только для зажигания). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:33 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
А можно и по-другому: order by IIF(gd_name LIKE '%строка%', 0, 1) + IIF(gd_descr LIKE '%строка%', 0, 1) + IIF(gd_compl LIKE '%строка%', 0, 1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:40 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч alexeyK-home Спасибо огромное! Владимир Саныч В итоге сам разобрался. Пришел к твоему последнему варианту независимо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:48 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
Я еще раз перечитал вопрос. Там в операции Like используется знак %. Значит, это adp. И вставлять функцию в селект, наверно, нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 15:58 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
а SELECT gd_id, IIF( ? MDB c SQL92 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 16:33 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю, в mdb может быть два варианта запроса: 1. Обычный - и тогда никаких %. 2. Pass-Through - и тогда никаких функций, кроме понимаемых сервером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 17:13 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
обычный в режиме аксесс 2002 sql89 like '*' sql92 like '%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 17:21 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
Видимо, я не знаю, что такое SQL92. Это настройка на синтаксис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 17:26 |
|
||
|
ORDER BY и null
|
|||
|---|---|---|---|
|
#18+
это стандарт языка sql можно выбрать в настройках если файл MDB сохранен в формате 2002 (именно конвертирован файл а не запущен в аксессе 2002) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32450216&tid=1675923]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
422ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 760ms |

| 0 / 0 |
