Избавиться от повторов в представлении (View) - MySQL
Формулировка задачи:
Здравствуйте уважаемые!
Подскажите как сделать представление, что бы из двух таблиц выводились данные и главное без повторений.
Есть таблицы
№1
№2
Представление
получаю
а надо
Помогите пожалуйста.
CREATE TABLE `adresa` ( `id` int(255) NOT NULL AUTO_INCREMENT, `ip` char(20) COLLATE utf8_bin NOT NULL, `port` int(5) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `status` ( `id` int(255) NOT NULL AUTO_INCREMENT, `status` char(30) COLLATE utf8_bin DEFAULT NULL, `date` date DEFAULT NULL, `time` time DEFAULT NULL, `servis` char(30) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE VIEW itog AS select `adresa`.`id` AS `id`, `adresa`.`ip` AS `ip`, `adresa`.`port` AS `port`, `status`.`status` AS `status`, `status`.`date` AS `date`, `status`.`time` AS `time`, `status`.`servis` AS `servis` from (`adresa` join `status`)
Решение задачи: «Избавиться от повторов в представлении (View)»
textual
Листинг программы
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `itog` AS select `status`.`status` AS `status`, `status`.`date` AS `date`, `status`.`time` AS `time`, `status`.`servis` AS `servis`, `adresa`.`ip` AS `ip`, `adresa`.`port` AS `port`, `status`.`id_adres` AS `id_adres`, `adresa`.`id` AS `id` from (`adresa` join `status` on((`adresa`.`id` = `status`.`id_adres`)));
Объяснение кода листинга программы
- Создание представления (View) с именем
itog
. - Установка SQL-безопасности для представления.
- Указание таблиц, которые будут использоваться в представлении:
status
иadresa
. - Определение полей, которые будут включены в представление из таблицы
status
:status
,date
,time
,servis
,id_adres
. - Определение полей, которые будут включены в представление из таблицы
adresa
:ip
,port
,id
. - Установка связи между таблицами
status
иadresa
по полюid_adres
. - Завершение определения представления.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д