Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизКак скрыть повторяющиеся записи? Найти похожие ветки
← →
Andrew___* (2006-08-12 15:01) [0]Paradox, Delphi 2006
Мне необходимо скрыть от пользователя все повторяющиеся записи таблицы. Т.е не запретить вводить повторяющиеся значения, а именно их скрывать. Как лучше это сделать, подскажите плз.
← →
Anatoly Podgoretsky © (2006-08-12 15:02) [1]Зачем в базе повторяющиеся записи?
← →
Andrew___* (2006-08-12 15:48) [2]Просто есть поле, которое может включать, допустим, фамилии поставщиков, а уникальный ключ - это название товара. И нужно просто получит в таблице список фамилий.
← →
Anatoly Podgoretsky © (2006-08-12 15:49) [3]И SQL ты конечно не знаешь?
← →
Andrew___* (2006-08-12 18:01) [4]SQL меня спасти не может, поскольку придется переписывать всю программу....
← →
Fay © (2006-08-12 18:31) [5]2 Andrew___* (12.08.06 18:01) [4]
Струкатура данных ваще какая?
> придется переписывать всю программу....
М.б. это не такая уж и плохая мысль.
← →
Andrew___* (2006-08-12 20:19) [6]Рdox 7, локальная БД.
Я, возможно, нечетко выразил свою мысль: мне нужно просто получить список всех неповторяющихся значений по столбцу и все. Зачем же 5 раз узнавать, что фамилия вашего поставщика Иванов - логика такая. Думаю, это можно реализовать и без SQL.
← →
Fay © (2006-08-12 20:23) [7]2 Andrew___* (12.08.06 20:19) [6]
Слушай, Andrew___ джан, покажи примеры того, что есть, и того, что должно быть.
← →
Anatoly Podgoretsky © (2006-08-12 20:34) [8]А где получить то?
← →
sniknik © (2006-08-13 01:49) [9]без sql это будет несколько громоздко... как себе вижу... делаем дополнительный отвязанный от бызы рекордсет с нужным полем, далее сортируем локально (если есть возможность в ваших компонентах/методе доступа) исходный датасет по требуемому полю (или устанавливаем ему индекс если есть и локално сортировать не позволяет), дальше банальный цикл с "пока поле равно предварительно сохраненному (первому) пропускаем, если не равно то записываем и сохраняем в предварительное для дальнейших сравнений"... как только цикл завершится в нашем рекордсете будут неповторяющиеся значения... что нам и надо. дальше вообще просто, или меняем оригинальный датасет на нами составленный или делаем фильтр оригинала с проверкой на вхождение в созданный, только тут тогда надо не одно поле сожранять а еше и ключь, по нему вхождение смотреть. все. теперь в оригинале будут только первые записи повтряющихся фамилий.
и не надо будет программу переписывать (!!!???) ну не считая того что добавилось...
да, забыл, еще надо бы сохранить состояние оригинального датасета,чтобы вернуть после сортировок.
← →
Dok (2006-08-13 12:36) [10]
> SQL меня спасти не может, поскольку придется переписывать
> всю программу....
ага а программа работает с БД без скл???? блин, хоть плач. Неужели почитать, посмотреть примеры сложно?
← →
Andrew___* (2006-08-13 14:00) [11]2 sniknik - что-то вроде этого я себе и представлял. Была надежда получить информацию о недокументированных возможностях фильтрации, но, видимо, она оказалась тщетной. Спасибо.
← →
Desdechado © (2006-08-13 15:41) [12]мысли вслух:
а грабли размножаются с поразительной скоростью...
← →
Anatoly Podgoretsky © (2006-08-13 15:56) [13]Andrew___* (13.08.06 14:00) [11]
Вера в чудо.
← →
ANB © (2006-08-14 15:34) [14]select distinct Postav_Name from Table1
← →
Desdechado © (2006-08-14 16:57) [15]ANB © (14.08.06 15:34) [14]
Не учи человека плохому :))
Он чурается SQL"я.
PS а ведь всего одной командой можно...
← →
term1t © (2006-08-15 18:30) [16]я что-то недопонял по поводу SQL ... а что ... " distinct TField " уже не конает?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.041 c