Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите написать запрос для проверки уникальности данных в таблице / 9 сообщений из 9, страница 1 из 1
28.01.2014, 14:39:49
    #38540561
froosty
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
Доброго времени суток. Возникла такая проблема. Есть 2 таблицы: country и city. Таблица country: id, title; Таблица city: id, country_id, title. Нужно сделать выборку дубликатов городов в пределах страны.
Т.е. к примеру таблица заполнена такими данными:
Country:
Код: plaintext
1.
2.
3.
4.
5.
|      id     |    title       |
 ---------------------------
|      1      |   Россия   |
|      2      |  Украина  |
 --------------------------
City:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
|      id     |country_id|    title      |
 ----------------------------------------
|      1      |      1      |   Москва  |
|      2      |      1      |    Питер   |
|      3      |      1      |    Питер   |
|      4      |      1      |   Донецк  |
|      5      |      2      |    Киев    |
|      6      |      2      |   Донецк  |
 ---------------------------------------

В результате искомого запроса, нужно чтобы выбрался Питер (т.к. дубликат в пределах страны), а Донецк не выбрался (т.к. дубликата в пределах страны нет).
Заранее спасибо за помощь =)
...
Рейтинг: 0 / 0
28.01.2014, 14:53:03
    #38540578
Помогите написать запрос для проверки уникальности данных в таблице
читать про
1) group by ... having
2) [not] in / [not] exists подзапросы.
...
Рейтинг: 0 / 0
28.01.2014, 14:53:04
    #38540579
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
...
Рейтинг: 0 / 0
28.01.2014, 14:55:17
    #38540584
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
Затем делаете составной unique key (country_id, title) и никто не нарушит покоя.
...
Рейтинг: 0 / 0
28.01.2014, 14:57:47
    #38540591
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
froostyВ результате искомого запроса, нужно чтобы выбрался Питер (т.к. дубликат в пределах страны), а Донецк не выбрался (т.к. дубликата в пределах страны нет).


Думаю вряд ли найдутся дубликаты более-менее крупных городов, потому что все они ранее были в пределах одной таблицы `СССР`
...
Рейтинг: 0 / 0
28.01.2014, 18:05:29
    #38541029
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
Ну выбрался... что дальше? сделаешь скриншот - и на десктоп?
...
Рейтинг: 0 / 0
29.01.2014, 11:11:18
    #38541706
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
Akina,

Ну да, надо проверить запрос, а потом поменять кляузу select на delete, добавить составной и слушать вопли операторов которые по привычке ничего не проверяя пишут в стопицотый раз Донецк в Украине.
...
Рейтинг: 0 / 0
29.01.2014, 14:35:33
    #38542091
AlexeyVD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
Если хотите грохнуть дубли и таблица типа innodb, то можно сразу создать уникальный индекс с помощью ALTER IGNORE, и мускуль сам автоматом подчистит дублирующиеся строки.
...
Рейтинг: 0 / 0
29.01.2014, 15:21:55
    #38542218
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите написать запрос для проверки уникальности данных в таблице
AlexeyVDмускуль сам автоматом подчистит дублирующиеся строки.
Нельзя так вот огульно. Смотри, у него дубликатам в City по title соответствуют разные id. Если у него на этот id уже ссылаются какие-то боевые данные по FK - мало не покажется.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите написать запрос для проверки уникальности данных в таблице / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]