|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.09.2009, 15:05 | #1 |
Форумчанин
Регистрация: 12.08.2008
Сообщений: 174
|
Сортировка данных
Как сделать запрос на выборку так, чтобы при сортировке данных по какому-либо полю (неважно какому и неважно сортировка идет по убыванию или возрастанию), первым всегда шла запись, у которой значение поля key_kategory = 0?
|
04.09.2009, 17:09 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
Код:
|
04.09.2009, 18:29 | #3 | |
Форумчанин
Регистрация: 12.08.2008
Сообщений: 174
|
Цитата:
и что значит key_kategory asc? мне не нужно, чтобы сортировка была сначала по полю key_kategory, а потом по остальным. Мне нужно чтобы первым была запись, у которой key_kategory=0, а остальные уже как пользователь хочет по имени, по дате и др. |
|
04.09.2009, 18:47 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
select 0 f1, [мои поля]
form tbl where key_kategory=0 union select 1 f1, [мои поля] from tbl where key_kategory<>0 and [мои условия] order by 1 asc, [моя сортировка]
программа — запись алгоритма на языке понятном транслятору
|
04.09.2009, 19:42 | #5 | |
Форумчанин
Регистрация: 12.08.2008
Сообщений: 174
|
Цитата:
нифига себе вы тут, ребята, мутите тему какую-то.... а можно пояснить что такое union, а так же 0 и 1 зачем здесь? |
|
04.09.2009, 20:54 | #6 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
вторая часть запроса выберет те строчки таблицы tbl, где key_kategory не равно нулю. Цитата:
Код:
|
||
04.09.2009, 22:53 | #7 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
Цитата:
если хотите конкретики, то добавьте в вопрос структуру таблиц с описанием полей, исходный набор данный и результирующий набор (после применения сортировки) З.Ы.: на СКЛ можно сделать все, ладно - почти все, главное, знать что ты хочешь получить Последний раз редактировалось soleil@mmc; 04.09.2009 в 22:55. |
|
05.09.2009, 03:43 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
очень многое зависит и от СУБД (к примеру, FireBird версии <1.53 НЕ ПОДДЕРЖИВАЛ ВЛОЖЕННЫХ ЗАПРОСОВ. А без них часто ой как тяжело! ) и от конкретной задачи... А вот конкретные замечания, по обсуждаемой задаче. Хочу добавить, что оба предложенных способа имеют недостатки и правильность их работы зависит от диапазона возможных значений в поле key_kategory: 1-й способ неверно сработает, если key_kategory может принимать отрицательные значения. 2-й способ - вообще может выбрать НЕ ВСЕ СТРОКИ из таблицы, если key_kategory может быть NULL... так что - автору топика подсказали пути решения - а дальше дело за ним! SlavaSH, дружеский совет: учите SQL - это и крайне увлекательно и весьма полезно! |
|
05.09.2009, 17:16 | #9 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
|
07.09.2009, 22:58 | #10 |
Форумчанин
Регистрация: 12.08.2008
Сообщений: 174
|
Итак, поясняю, база данных FireBird v1.50. Такое же мне будет необходимо проделать и для базы данных Access.
полная струкрута таблицы (взял самый простой пример): Название таблицы PRODUCT_KATEGORY Поля: KEY_PRODUCT_KATEGORY integer name_PRODUCT_KATEGORY varchar 50 Проверил предложенные варианты в FireBird пока. при выполнении запроса Код:
при выполнении запроса Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сортировка данных (пересчет возможных вариантов комбинаций, перенос данных в таблицу) | Vitalik85 | Microsoft Office Excel | 4 | 12.08.2009 00:30 |
сортировка данных | oleg_sh | Microsoft Office Excel | 7 | 30.07.2009 20:54 |
Сортировка данных | Laidy | Microsoft Office Excel | 6 | 28.10.2008 10:29 |
Сортировка данных | celovec | Общие вопросы Delphi | 1 | 01.08.2007 14:19 |
Сортировка данных | Таня84 | БД в Delphi | 7 | 20.02.2007 15:56 |