Название: невыполняется сортировка SQLite Отправлено: slava_d200 от Апрель 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 картинка результата прикреплена. Название: Re: невыполняется сортировка SQLite Отправлено: mutineer от Апрель 06, 2012, 11:04 А где колонка с именем 4? какие у нее значения?
З.Ы. названия колонок просто пипец... Название: Re: невыполняется сортировка SQLite Отправлено: slava_d200 от Апрель 06, 2012, 11:06 1 и 2
картинка значений прилагается. по определению это можно так назвать переменная определяющая уровень вложенности 1-ый уровень 2-ой уровень Название: Re: невыполняется сортировка SQLite Отправлено: mutineer от Апрель 06, 2012, 11:08 ORDER BY Priznak_Gruppy DESC, 4 ASC, id ASC;
сортировка по полю 4 наличествует, значений на картинке не видно. 1 и 2 - это значения? в каких строках они такие? Название: Re: невыполняется сортировка SQLite Отправлено: slava_d200 от Апрель 06, 2012, 11:13 4 - это позиция переменной в запросе.
т.к в формате запроса можно либо использовать наименования переменных либо позиция переменной в запросе. так 4 это какраз позиция переменной в запросе. Название: Re: невыполняется сортировка SQLite Отправлено: mutineer от Апрель 06, 2012, 11:15 4я переменная в запросе это Name? тогда все правильно отсортировано
Название: Re: невыполняется сортировка SQLite Отправлено: slava_d200 от Апрель 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; Название: Re: невыполняется сортировка SQLite Отправлено: mutineer от Апрель 06, 2012, 11:16 Запрос очень нечитабелен, оттого и ошибки
Название: Re: невыполняется сортировка SQLite Отправлено: slava_d200 от Апрель 06, 2012, 11:18 4я переменная в запросе это Name? тогда все правильно отсортировано вот в этом и была ошибка СПАСИБО. почему то я посчитал что отсчет начинается с "0", а не с "1". Название: Re: невыполняется сортировка SQLite Отправлено: mutineer от Апрель 06, 2012, 11:20 4я переменная в запросе это Name? тогда все правильно отсортировано вот в этом и была ошибка СПАСИБО. почему то я посчитал что отсчет начинается с "0", а не с "1". А ты уверен что берется 4е поле из первой части запроса, а не из второй? Название: Re: невыполняется сортировка SQLite Отправлено: slava_d200 от Апрель 06, 2012, 11:27 запрос то суммирующий
сортировка распространяется уже на всю выборку что по первому запросу что по второму в целом. Название: Re: невыполняется сортировка SQLite Отправлено: mutineer от Апрель 06, 2012, 11:29 и в каком порядку идут поля 1 и 2 в результирующей выборке? как к ним обратиться по номеру? (и как вообще парсер запроса должен понять 1 это имя поля или его номер в выборке?)
Название: Re: невыполняется сортировка SQLite Отправлено: slava_d200 от Апрель 06, 2012, 11:59 и в каком порядку идут поля 1 и 2 в результирующей выборке? как к ним обратиться по номеру? (и как вообще парсер запроса должен понять 1 это имя поля или его номер в выборке?) del,GUID_id,Priznak_Gruppy,Name, 1 AS Yroven,id вот такой порядок. т.е. как мы определили в запросе в такой последовательности она и будет считатся. имя поля не может иметь числовое поле. поэтому запрос и понимает что если ображение идет как числовое значит это порядковый номер переменной в запросе а если строка то тогда ищи имя этого поля. прилагаю формат запроса: |