Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет
Имеется таблица :
+------------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------------+--------------+------+-----+---------+----------------+ | base_id | int(20) | | PRI | NULL | auto_increment | | Familia | varchar(20) | YES | MUL | NULL | | | Name | varchar(20) | YES | MUL | NULL | | | Otchestvo | varchar(20) | YES | MUL | NULL | | | Date_Rojdenia | date | YES | MUL | NULL | | | Nomer_i_seria_pasporta | varchar(20) | YES | MUL | NULL | | | INN_Organizacii | varchar(10) | YES | | NULL | | | Telefon_Domashnyi | varchar(12) | YES | | NULL | | | Telefon_Rabochyi | varchar(12) | YES | | NULL | | | Telefon_Mobilnyi | varchar(12) | YES | | NULL | | | Mesto_Raboti | longtext | YES | | NULL | | | Vid_kredita | varchar(20) | YES | | NULL | | | Bank_poslavchyi_zapros | varchar(30) | YES | | NULL | | | Adres_Ispolnitelia | varchar(40) | YES | MUL | NULL | | | Comentaryi | longtext | YES | | NULL | | | Date_Obrashenia | datetime | YES | | NULL | | | user_id | varchar(10) | YES | MUL | NULL | | | City | varchar(20) | YES | | NULL | | | Primechanie | longtext | YES | | NULL | | | roz | varchar(255) | YES | | NULL | | | Search_status | int(2) | YES | | NULL | | | Code | int(2) | YES | | NULL | | | systime | timestamp | YES | | NULL | | +------------------------+--------------+------+-----+---------+----------------+
В этой таблици ключевое поле ID при этом сочетание фамилия, имя, отчество, дата рождения или номер паспорта дают уникальную запись. В базе они повторялись, а информация по ним (Дата обращения, телефоны итд) разные поэтому я решил разнести базу на 2 таблици одна klient_1 где будут уникальные клиенты с ключевым полем ID, а вторая inf_primary информация по ним где ID не является ключем.
Сгрупировал повторяющиеся записи в уникальные следующим запросом:
insert into klient_1 (select perepiska.base_id, perepiska.Familia, perepiska.Name, perepiska.Otchestvo, perepiska.Date_Rojdenia, perepiska.Nomer_i_seria_pasporta
from perepiska group by perepiska.Familia, perepiska.Name, perepiska.Otchestvo, perepiska.Date_Rojdenia, perepiska.Nomer_i_seria_pasporta)
!!!! Теперь проблема как заполнить вторую таблицу inf_primary чтобы она соответсвовала по ID с klient_1
я заполнял таблицу так:
select klient_1.id, perepiska.Date_Obrashenia, perepiska.Bank_poslavchyi_zapros, perepiska.Adres_Ispolnitelia, perepiska.Primechanie, perepiska.Roz,
perepiska.Code, perepiska.user_id
FROM
klient_1
inner Join perepiska ON (klient_1.familia = perepiska.Familia
AND klient_1.name = perepiska.Name
AND klient_1.otchestvo = perepiska.Otchestvo
AND klient_1.date_rojdenia = perepiska.Date_Rojdenia)
Получалась лажа.
Есть ли более простой метод как это все провернуть !?
Неактивен
Честно говоря, не вижу, почему "получилась лажа". Попробуйте для себя мысленно
переписать через подзапросы, может, получится проще логически - тогда найдете ошибку.
Я бы делал как-то так:
Неактивен