Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
karellia Member Откуда: Сообщений: 8 |
Есть 2 базы, первая – как источник (данные вноситься руками) и вторая – в нее нужно в автоматическом режиме подтягивать данные из первой. Суть обоих баз одна и та же, в табличке кроме прочего содержаться наименования подразделений с id этого подразделения и id подразделения родителя, чем обеспечивается иерархическая структура. Проблема в том что изначально обе базы формировались вручную и соответственно id в одной базе не имеют никаких соответствия с id другой базы, есть только соответствия по названиям подразделений (да и то лишние пробелы, ошибки в орфографии 100% гарантии не дают) Наверняка ведь есть уже какой-то способ решения подобных проблем? (автоматизация загрузки вновь добавленных подразделений) У меня все мысли идут в сторону создания таблички соответствий во второй базе с id из первой. Но все равно как это реально на практике сделать я не слишком понимаю, да и может еще какие-то варианты есть, по изящней? |
25 июл 13, 09:53 [14614649] Ответить | Цитировать Сообщить модератору |
Сергей Викт. Member Откуда: Москва Сообщений: 888 |
"Поизящнее" необходимо "причесать" ретро данные. Если связь только по названиям, то надо причесать эти самые названия, а затем уже думать об оптимизации. Для того, чтобы убрать пробелы, есть функции работы со строками, а вот орфографию придётся проверить. Сделайте COUNT() из одной таблицы, COUNT() из другой, потом COUNT() table1 inner join table2 On name=name и посмотрите разницу. Может у вас различие в 5-10 записях, которые можно будет причесать обычным апдейтом. Ну для начала как вариант. Либо можно сделать select name from table1 except select name from table 2 и вы сразу увидите результирующий набор с именами, различающимися в двух таблицах. Всё строго ИМХО. |
||
25 июл 13, 10:23 [14614759] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |