У меня есть таблица transcription
, которая содержит отрывки транскрибированного текста и их цитаты с колонками:
text, transcription_id(PK), t_notes, citation
и вторая таблица town_transcription
- это таблица отношений, которая связывает места (из другой таблицы), на которые есть ссылки в тексте, с этой записью транскрипции. Эта таблица имеет столбцы:
town_id(FK), transcription_id(FK), confidence_interval
Многие из этих текстовых отрывков относятся к нескольким городам, но тупо я просто дублировал записи и связывал их индивидуально с каждым городом. Я идентифицировал повторяющиеся строки текста, используя следующий запрос SQL:
SELECT * FROM transcription aa
WHERE (select count(*) from transcription bb
WHERE (bb.text = aa.text) AND (bb.citation = aa.citation)) > 1
ORDER BY text ASC;
Теперь у меня есть около 2000 строк (от 2 до 6 дубликатов некоторых текстовых отрывков), где мне нужно удалить дополнительные transcription_id
из таблицы transcription
и изменить transcription_id
из таблицы отношений, town_transcription
, чтобы указать на оставшуюся, теперь уникальную, запись транскрипции. Прочитав другие вопросы, я думаю, что использование UPDATE FROM
и INNER JOIN
может быть необходимо, но я действительно не знаю, как это реализовать, я только начинающий, спасибо за любую помощь.