Избавиться от повторов в представлении (View) - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте уважаемые! Подскажите как сделать представление, что бы из двух таблиц выводились данные и главное без повторений. Есть таблицы №1
Листинг программы
  1. CREATE TABLE `adresa` (
  2. `id` int(255) NOT NULL AUTO_INCREMENT,
  3. `ip` char(20) COLLATE utf8_bin NOT NULL,
  4. `port` int(5) NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
№2
Листинг программы
  1. CREATE TABLE `status` (
  2. `id` int(255) NOT NULL AUTO_INCREMENT,
  3. `status` char(30) COLLATE utf8_bin DEFAULT NULL,
  4. `date` date DEFAULT NULL,
  5. `time` time DEFAULT NULL,
  6. `servis` char(30) COLLATE utf8_bin DEFAULT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Представление
Листинг программы
  1. CREATE VIEW itog AS select
  2. `adresa`.`id` AS `id`,
  3. `adresa`.`ip` AS `ip`,
  4. `adresa`.`port` AS `port`,
  5. `status`.`status` AS `status`,
  6. `status`.`date` AS `date`,
  7. `status`.`time` AS `time`,
  8. `status`.`servis` AS `servis`
  9. from (`adresa` join `status`)
получаю а надо Помогите пожалуйста.

Решение задачи: «Избавиться от повторов в представлении (View)»

textual
Листинг программы
  1. CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`
  2. SQL SECURITY DEFINER VIEW `itog` AS
  3. select
  4. `status`.`status` AS `status`,
  5. `status`.`date` AS `date`,
  6. `status`.`time` AS `time`,
  7. `status`.`servis` AS `servis`,
  8. `adresa`.`ip` AS `ip`,
  9. `adresa`.`port` AS `port`,
  10. `status`.`id_adres` AS `id_adres`,
  11. `adresa`.`id` AS `id`
  12. from (`adresa` join `status` on((`adresa`.`id` = `status`.`id_adres`)));

Объяснение кода листинга программы

  1. Создание представления (View) с именем itog.
  2. Установка SQL-безопасности для представления.
  3. Указание таблиц, которые будут использоваться в представлении: status и adresa.
  4. Определение полей, которые будут включены в представление из таблицы status: status, date, time, servis, id_adres.
  5. Определение полей, которые будут включены в представление из таблицы adresa: ip, port, id.
  6. Установка связи между таблицами status и adresa по полю id_adres.
  7. Завершение определения представления.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут