Russian Qt Forum
Ноябрь 23, 2024, 22:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
невыполняется сортировка SQLite
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: невыполняется сортировка SQLite (Прочитано 5824 раз)
slava_d200
Гость
невыполняется сортировка SQLite
«
:
Апрель 06, 2012, 11:00 »
прошу подсказать где закралась ошибка
вот делаю запрос:
SELECT del,GUID_id,Priznak_Gruppy,Name, 1,id FROM Spr_Klient WHERE GUID_id = '3'
union
SELECT del,GUID_id,Priznak_Gruppy,Name,2,id FROM Spr_Klient WHERE GUID_Roditel = '3'
ORDER BY Priznak_Gruppy DESC, 4 ASC, id ASC;
последняя сортировка не выполняется по реквизиту : id ASC
картинка результата прикреплена.
Записан
mutineer
Гость
Re: невыполняется сортировка SQLite
«
Ответ #1 :
Апрель 06, 2012, 11:04 »
А где колонка с именем 4? какие у нее значения?
З.Ы. названия колонок просто пипец...
Записан
slava_d200
Гость
Re: невыполняется сортировка SQLite
«
Ответ #2 :
Апрель 06, 2012, 11:06 »
1 и 2
картинка значений прилагается.
по определению это можно так назвать переменная определяющая уровень вложенности
1-ый уровень
2-ой уровень
Записан
mutineer
Гость
Re: невыполняется сортировка SQLite
«
Ответ #3 :
Апрель 06, 2012, 11:08 »
ORDER BY Priznak_Gruppy DESC, 4 ASC, id ASC;
сортировка по полю 4 наличествует, значений на картинке не видно. 1 и 2 - это значения? в каких строках они такие?
Записан
slava_d200
Гость
Re: невыполняется сортировка SQLite
«
Ответ #4 :
Апрель 06, 2012, 11:13 »
4 - это позиция переменной в запросе.
т.к в формате запроса можно либо использовать наименования переменных либо позиция переменной в запросе.
так 4 это какраз позиция переменной в запросе.
Записан
mutineer
Гость
Re: невыполняется сортировка SQLite
«
Ответ #5 :
Апрель 06, 2012, 11:15 »
4я переменная в запросе это Name? тогда все правильно отсортировано
Записан
slava_d200
Гость
Re: невыполняется сортировка SQLite
«
Ответ #6 :
Апрель 06, 2012, 11:15 »
ну в общем запрос прошол правильно после того как я обозвал эту переменную.
SELECT del,GUID_id,Priznak_Gruppy,Name, 1 AS Yroven,id FROM Spr_Klient WHERE GUID_id = '3'
union
SELECT del,GUID_id,Priznak_Gruppy,Name,2,id FROM Spr_Klient WHERE GUID_Roditel = '3'
ORDER BY Priznak_Gruppy DESC, Yroven ASC,id ASC;
Записан
mutineer
Гость
Re: невыполняется сортировка SQLite
«
Ответ #7 :
Апрель 06, 2012, 11:16 »
Запрос очень нечитабелен, оттого и ошибки
Записан
slava_d200
Гость
Re: невыполняется сортировка SQLite
«
Ответ #8 :
Апрель 06, 2012, 11:18 »
Цитата: mutineer от Апрель 06, 2012, 11:15
4я переменная в запросе это Name? тогда все правильно отсортировано
вот в этом и была ошибка
СПАСИБО.
почему то я посчитал что отсчет начинается с "0", а не с "1".
Записан
mutineer
Гость
Re: невыполняется сортировка SQLite
«
Ответ #9 :
Апрель 06, 2012, 11:20 »
Цитата: slava_d200 от Апрель 06, 2012, 11:18
Цитата: mutineer от Апрель 06, 2012, 11:15
4я переменная в запросе это Name? тогда все правильно отсортировано
вот в этом и была ошибка
СПАСИБО.
почему то я посчитал что отсчет начинается с "0", а не с "1".
А ты уверен что берется 4е поле из первой части запроса, а не из второй?
Записан
slava_d200
Гость
Re: невыполняется сортировка SQLite
«
Ответ #10 :
Апрель 06, 2012, 11:27 »
запрос то суммирующий
сортировка распространяется уже на всю выборку
что по первому запросу что по второму в целом.
Записан
mutineer
Гость
Re: невыполняется сортировка SQLite
«
Ответ #11 :
Апрель 06, 2012, 11:29 »
и в каком порядку идут поля 1 и 2 в результирующей выборке? как к ним обратиться по номеру? (и как вообще парсер запроса должен понять 1 это имя поля или его номер в выборке?)
Записан
slava_d200
Гость
Re: невыполняется сортировка SQLite
«
Ответ #12 :
Апрель 06, 2012, 11:59 »
Цитата: mutineer от Апрель 06, 2012, 11:29
и в каком порядку идут поля 1 и 2 в результирующей выборке? как к ним обратиться по номеру? (и как вообще парсер запроса должен понять 1 это имя поля или его номер в выборке?)
del,GUID_id,Priznak_Gruppy,Name, 1 AS Yroven,id вот такой порядок. т.е. как мы определили в запросе в такой последовательности она и будет считатся.
имя поля не может иметь числовое поле. поэтому запрос и понимает что если ображение идет как числовое значит это порядковый номер переменной в запросе а если строка то тогда ищи имя этого поля.
прилагаю формат запроса:
«
Последнее редактирование: Апрель 06, 2012, 12:01 от slava_d200
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...