Как правильно составить SQL запрос (поиск по таблицам)?

Есть несколько таблиц в одной базе

number_owner
id, number_table_id, contragents_id

number_table
id, number ....

contragents
id, inn ....

в number_table и contragents есть данные. number_owner типа связывает эти две таблицы в базе. какой sql запрос должен быть, когда у меня есть отдельный файл csv в котором есть столбцы:
inn, number

Т.е. мне в итоге нужно сделать insert в таблицу number_owner, но при этом с указанием number_table_id, contragents_id, где contragents_id берется из поля inn, а number_table_id соответственно из number
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Если я Вас правильно понял - у вас уже есть некие списки number в таблице number_table, inn в таблице contragents и есть отдельный список записей в csv которые нужно нормализовать.
IMHO самое простое и правильное решение - написать на любом ЯП маленький скриптик.
В зависимости от количества данных в существующих таблицах, можно как их честно дергать каждый раз, так и загрузить в память.
Ответ написан
Комментировать
@dmitryKovalskiy
программист средней руки
1) надо сделать SELECT во временную таблицу содержимого csv
2) А потом что-то вроде
INSERT INTO number_owner(number_table_id,contragent_id)
SELECT nt.id, c.id FROM @tempTable as t
INNER JOIN contragents as c ON t.inn = c.inn
INNER JOIN number_table as nt ON t. number = nt.number
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы