Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.17;
Скачать: CL | DM;

Вниз

Убрать дубли   Найти похожие ветки 

 
Oxy2   (2002-09-25 12:00) [0]

Привет, всем!
Вобщем такая трабла. Есть справочник улиц следующего содержания
1 Ленина
2 Сталина
3 Ленина
.........
Какой надо сделать SQL-запрос что бы убрать дубль (1 Ленина и 3 Ленина). Тоесть надо оставить только одну улицу 1 Ленина.
Пожалуйста помогите.


 
ЮЮ ©   (2002-09-25 12:05) [1]

Одним запросом тут не отделаешься. Ведь ещё надо править записи в таблицах, которые ссылаются на этот справочник. А править записи запросом в парадоксе иногда бывает чревато, т.к. записи могут перезаписаться с новым автоинкрементом.


 
NP-237 ©   (2002-09-25 12:07) [2]

Посмотрите, будет интересно.

http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=10671


 
passm ©   (2002-09-25 12:07) [3]

Цифры - это уникальное поле или часть названия улицы?


 
Oxy2   (2002-09-25 12:08) [4]

Нет мне не надо править ссылки из других таблиц. Надо только исправить саму таблицу. Мне нужен тольо текст SQL-запроса, так как сам написать его я не знаю. Я новичок в БД.


 
Oxy2   (2002-09-25 12:08) [5]

Цифры это уникальное поле.


 
passm ©   (2002-09-25 12:11) [6]

В твоем случае придется править ссылки в других таблицах, либо оставить все как есть.


 
Anatoly Podgoretsky ©   (2002-09-25 12:12) [7]

ЮЮ © (25.09.02 12:05)
О каком Парадоксе речь, dBase, FoxPro

Oxy2 (25.09.02 12:00)
Вот это тот случай когда не желательно использование запроса, убрать легче с помощью TTable если есть индекс по этому полю, если нет, то временно сделать.

Потом ты не достаточно привел данных, нет информации по связи справочника с другими таблиуами, возможно придется также корректировать ссылки.


 
Oxy2   (2002-09-25 12:15) [8]

Нету связи справочника с другими таблицами. Это просто отдельная таблица и все. Ее потом будут использовать в одной проге. Мне надо только подготовить ее к этому.


 
Oxy2   (2002-09-25 12:21) [9]

А насчет ТТейбл, то я знаю как сделать это перебором, но хотелось бы чтоб SQL-сервер это все сделал за меня. ;-))
На то его и сделали что бы другим легче было.


 
Johnmen ©   (2002-09-25 12:26) [10]

Можно попробовать
DELETE FROM Tbl T1
WHERE T1.ID>(SELECT MIN(T2.ID) FROM Tbl T2 WHERE T1.name=T2.name)


 
ЮЮ ©   (2002-09-25 12:33) [11]

dBase, FoxPro - это ещё не SQL-сервер. Синтаксис локального SQL сильно ограничен. Можно создать еще одну такую же таблицу, пустую,с автоинкрементным полем, и выбрать в неё запросом, не возвращающим дубли


 
Oxy2   (2002-09-25 12:37) [12]

Короче, работаю в Делфе 5 с ее БДЕ. Думаю, там возможностей вполне хватает.

2 Johnmen
Спасибо, вроде помогло.



Страницы: 1 вся ветка

Текущий архив: 2002.10.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-56340
Nikolas ShmuS
2002-09-25 23:52
2002.10.17
КиШ


14-56284
lak_b
2002-09-22 01:15
2002.10.17
бесплатный хостинг


1-56128
Шурик Ш
2002-10-09 12:33
2002.10.17
Координаты мышки


3-55963
cypher
2002-09-11 22:07
2002.10.17
ODBC & BDE


3-55938
Шурик Ш
2002-09-23 17:53
2002.10.17
Текущая строка DBGrid