Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
3-55930
DenKop
2002-09-24 22:03
2002.10.17
BDE и XP


3-55968
Bishop
2002-09-25 11:51
2002.10.17
View


14-56319
Esu
2002-09-24 21:37
2002.10.17
Хиппи ты или нет ?


1-56081
Zemal
2002-10-08 15:00
2002.10.17
I/O error 183


4-56395
Alex Che
2002-09-03 14:01
2002.10.17
Время





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский