| Программирование под linux, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
Немогу соединиться с MS SQL, из Delphi7 сохранение DBGridEh в SQL-таблице, Караул!! Oracle+1c, связать две сущности SQL connection timed out, Проблема Как узнать ID? SQL запрос из MS SQL, update/insert/delete Отчеты, 2 страницы вычисляемое поле в датасете TMyDataSet = class(TDataset), помогите с реализацией Обновление БД ACCESS Выделить границы ячейки Excel через Delphi!!! База данных в Access с нуля Грамотно удалить все записи в ADO таблице ADO и QReport, как связаться с Аксессом??? TQuery или TTable?, что быстрее удалить файлы по маске, с одинаковым расширением Как Вы относитесь к курящим девушкам? Delphi 2005 и DataType=DataSet, Отображение поля типа DataSet в Grid Формула в поле таблицы Помогите с базой данных, Помогите начинающему програмисту Как после KILL оповестите клиента, MySQL Правая кнопка мыши Функции, Разрешение проблемы Установка цвета записи в DBGrid Как распечатать базу данных?, есть реляционная бд... Как из ADOQuery'ков перенести информацию в Excel? Как разорвать соединение Btrieve, кто с ним работал ?, базы данных Btrieve под Delphi 6 и выше Создание сетевых многопользовательских приложений, С чего начать? Ищу движок DB для небольшой Shareware программы, С Поддержкой SQL и простой в использов. Работа с MySQL, компонент Zeos DBO 6.5.1 a окно с паролем, ODBC Paradox 7.0, проблемка возникла Footer из DBGridEh Как программно подключить базу данных dBase создание таблицы в Access, Помогите!! Проблема с типом Comp Файлы в ListView со значками., Нужен пример! Косяк с DISTINCT, меняет местами строки Сортировка по LookUp полю! работа с переменными в FR3, как присвоить значение переменной отчета Работа с датой Как работать с компонетами Запрос на удаление, Помогите написать запрос (BDE/Paradox): вопрос по ADOTable вообщем по БД Как включить, отключить в Scroll DBGrid Как обновлять возраст по дате рождения в БД Умножение значений двух полей, Высчитывает значение = 0 Окно с вопросом, Да Нет ? Работа с полями типа bigint программно навети фокус на ячейку DBGrid Продлема с выводом в DBGrid Увеличение времени выполнения, Почему? Сохранить изменения в DBGrid/DBGridEh Login Local server, Как подключить? Установка BDE для бд Paradox, Как установить BDE? TDBComboBox, Немного переписать TDBComboBox как в DBGrid изменить значение всех ячеек Лишние пробелы после значения поля при, использовании MSSQLServer2000. Как убрат Autodesk MapGuide, Программирование в Autodesk MapGuide Помогите получить Crystal Report Вопрос к Vit’у по поводу компонента InetDetector Изменить строку в базе?, Access 2000/ ADO Как Вы относитесь к курящим девушкам? Как сохранить массив в Ассеss программно? Не могу открыть одну из таблиц для редактирования Как установить пароль на БД Access средств. Delphi Что такое SDAC сохранение текста в поле таблицы тормоза dxdbgrid |
Платные хостинги Раскрутка сайта Книги по программированию Косяк с DISTINCT, меняет местами строки
- Delphi 6, ADO, dBase IVЗдравствуйте! У меня возникла следующая проблема Есть следующая табла (для примера)ONE; TWO; TREa; 5,00000; 1b; 10,00000; wb; 10,00000; ea; 5,00000; 1Выполняем запрос SQL:Код select one,two,trefrom table1highlightSyntax('sqlZmRiMT','sql');Видим результат:ONE; TWO; TREa; 5,00000; 1b; 10,00000; wb; 10,00000; ea; 5,00000; 1Выполняем другой запос SQL:Код select distinct one,two,trefrom table1highlightSyntax('sqlZjlkMT','sql');В результате получаем: ONE; TWO; TREa; 5,00000; 1b; 10,00000; eb; 10,00000; wВот скажите мне – какого … SQL поменял местами положение строк ONE=’b’? Я его просил?Как этого избежать? То есть чтоб одинаковые строки не выводились, а неодинаковые оставались в той же последовательности, что и были. Вопрос горящий. - сортировкой строк в SQL управляет оперетор ORDER BY.а то что запрос тебе 100 раз вывел в одном поряке строки, это незначит, что в 101 раз они выведутся именно так же. - УГУ!и есчо на эту же тему: вообще-то понятия нумерации строчек в БД нету, нельзя сказать что вот эта запись - первая, а вот это тринадцатая, в связи с этим ОБЫЧНО в каждой реляцонной таблице, создаётся первичный ключ, который и будет показывать "номер" записи. Я имею ввиду что записи в таблицах неупорядочены ни по какому критерию. Запрос на изменение набора данных - Insert строго говоря может "всунуть" новую запись, как в "конец" так и в "начало", так и куда нить в середку. - Ввести первичный ключ(допустим, назовем его pkey), который будет увеличиваться при каждой вставляемой новой записи и допсать запрос так:Код select distinct one,two,trefrom table1order by pkey aschighlightSyntax('delphiMzg3Nm','delphi');либо, если тебе известен критерий последовательности получаемых данных, то можно использовать нужные поля для сортировки, допустим так:Код select distinct one,two,trefrom table1order by tre deschighlightSyntax('delphicwOGJj','delphi');Кстати, прими к сведению, что distinct крайне тяжелая операция и употреблять ее следует с большой осторожностью, т.к. она сначала тянет записи клиенту, а потом только устраняет дубликаты(хотя может в других СУБД и не так - я сужу по Oracle ) Это сообщение отредактировал <Spawn> - 21.5.2005, 06:13 - Так у меня база локальная, небольшая в формате dBase. - Distinct по трём полям это кхе-кхе... не хорошо... напрашивается нормализация таблиц... - как таковая, а просто таблица, а получается она путем выгрузки (раз в 2 недели) из базы (на сервере PERVACIVE) поэтому такие косяки и лезут. - Если я не ошибаюсь, в MSSQL такая же ботва. - Не могу сказать про dbase, на MS SQL Server - такие вопросы решаются установкой уникального индекса по всем трём полям с указанием опции игнорирования дубликатов. Насколько я знаю BDE+Paradox работают так же... Имеет смысл покопаться в опциях чтобы предотвратить попадание мусора, чем потом разгребать его |