SKYnoSKY
Новичок
SQL - запрос котрый необходимо сделать
Существует БД с двумя таблицами:
CREATE TABLE `registr_g10` (
`id_kl` int(11) NOT NULL auto_increment,
`msc_nam` varchar(3) default NULL COMMENT 'Код района по фонду',
`sn_pol` varchar(20) default NULL COMMENT 'Номер полиса',
`old_pol` varchar(20) default NULL COMMENT 'Старый номер полиса',
`fam` varchar(25) default NULL COMMENT 'Фамилия клиента',
`ima` varchar(15) default NULL COMMENT 'Имя клиента',
`otch` varchar(25) default NULL COMMENT 'Отчество клиента',
`w` varchar(1) default NULL COMMENT 'Пол',
`dr` date default NULL COMMENT 'Дата рождения',
`polis_end` date default NULL COMMENT 'Окончание срока действия полиса',
`adres` varchar(80) default NULL COMMENT 'Адрес клиента',
`soc_stat` varchar(20) default NULL COMMENT 'Социальный статус клиента',
`ins_dat` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT 'Дата изменения добавления записи',
PRIMARY KEY (`id_kl`),
KEY `id_sn_pol` (`sn_pol`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED COMMENT='База данных предоставленная Г10';
-----------------------------
и вторая
----------------------------
CREATE TABLE `plus_registr_g10` (
`id_plus_kl` int(11) NOT NULL auto_increment,
`id_kl` int(11) default NULL COMMENT 'Внешний ключ к registr_g10',
`nom_kart_kl` int(10) default NULL COMMENT 'Номер карты клиента',
`uch_kl` int(5) default NULL COMMENT 'Участок',
`ser_pasp` int(5) default NULL COMMENT 'Серия паспорта',
`nom_pasp` int(6) default NULL COMMENT 'Номер паспорта',
`kem_vidan_pasp` varchar(30) default NULL COMMENT 'Кем выдан паспорт',
`dat_vidach_pasp` date default NULL COMMENT 'Дата выдачи паспорта',
`dat_posl_obr` date default NULL COMMENT 'Дата последнего обращения',
`s_pro_flg` date default NULL COMMENT 'Дата прохождения ФЛГ',
`po_pro_flg` date default NULL COMMENT 'Необходимо вновь пройти ФЛГ',
`prim_kl` varchar(100) default NULL COMMENT 'Примечание о клиенте',
PRIMARY KEY (`id_plus_kl`),
KEY `id_kl` (`id_kl`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED COMMENT='Доплнительные данные о клиенте';
--------------------------
Вопрос: как связать их по id_kl первой со второй с возможностью выполнения SELECT, UPDATE, INSERT,
Вариант:
SELECT * FROM registr_g10, plus_registr_g10
WHERE registr_g10.id_kl=plus_registr_g10.id_kl
AND registr_g10.fam LIKE 'бах%'
AND registr_g10.ima LIKE '%%'
AND registr_g10.dr LIKE '%1978%';
Неустраивает, так как вторая таблица ещё пуста и при таком запросе соответственно пустые строки.
Существует БД с двумя таблицами:
CREATE TABLE `registr_g10` (
`id_kl` int(11) NOT NULL auto_increment,
`msc_nam` varchar(3) default NULL COMMENT 'Код района по фонду',
`sn_pol` varchar(20) default NULL COMMENT 'Номер полиса',
`old_pol` varchar(20) default NULL COMMENT 'Старый номер полиса',
`fam` varchar(25) default NULL COMMENT 'Фамилия клиента',
`ima` varchar(15) default NULL COMMENT 'Имя клиента',
`otch` varchar(25) default NULL COMMENT 'Отчество клиента',
`w` varchar(1) default NULL COMMENT 'Пол',
`dr` date default NULL COMMENT 'Дата рождения',
`polis_end` date default NULL COMMENT 'Окончание срока действия полиса',
`adres` varchar(80) default NULL COMMENT 'Адрес клиента',
`soc_stat` varchar(20) default NULL COMMENT 'Социальный статус клиента',
`ins_dat` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT 'Дата изменения добавления записи',
PRIMARY KEY (`id_kl`),
KEY `id_sn_pol` (`sn_pol`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED COMMENT='База данных предоставленная Г10';
-----------------------------
и вторая
----------------------------
CREATE TABLE `plus_registr_g10` (
`id_plus_kl` int(11) NOT NULL auto_increment,
`id_kl` int(11) default NULL COMMENT 'Внешний ключ к registr_g10',
`nom_kart_kl` int(10) default NULL COMMENT 'Номер карты клиента',
`uch_kl` int(5) default NULL COMMENT 'Участок',
`ser_pasp` int(5) default NULL COMMENT 'Серия паспорта',
`nom_pasp` int(6) default NULL COMMENT 'Номер паспорта',
`kem_vidan_pasp` varchar(30) default NULL COMMENT 'Кем выдан паспорт',
`dat_vidach_pasp` date default NULL COMMENT 'Дата выдачи паспорта',
`dat_posl_obr` date default NULL COMMENT 'Дата последнего обращения',
`s_pro_flg` date default NULL COMMENT 'Дата прохождения ФЛГ',
`po_pro_flg` date default NULL COMMENT 'Необходимо вновь пройти ФЛГ',
`prim_kl` varchar(100) default NULL COMMENT 'Примечание о клиенте',
PRIMARY KEY (`id_plus_kl`),
KEY `id_kl` (`id_kl`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED COMMENT='Доплнительные данные о клиенте';
--------------------------
Вопрос: как связать их по id_kl первой со второй с возможностью выполнения SELECT, UPDATE, INSERT,
Вариант:
SELECT * FROM registr_g10, plus_registr_g10
WHERE registr_g10.id_kl=plus_registr_g10.id_kl
AND registr_g10.fam LIKE 'бах%'
AND registr_g10.ima LIKE '%%'
AND registr_g10.dr LIKE '%1978%';
Неустраивает, так как вторая таблица ещё пуста и при таком запросе соответственно пустые строки.