Создать представление в MySQL из двух таблиц

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

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

У меня есть таблица, которая используется, для авторизации пользователей на почтовом сервере (используется связка Postfix и Dovecot).
Листинг программы
  1. +-------------+------------------+-------------------+------------------+------+------+---------------------------------------+--------+---------+---------------------------+
  2. | user_name | domain_name | passwd | pwd_hash | uid | gid | mailbox_basepath | enable | quota | desc_rec |
  3. +-------------+------------------+-------------------+------------------+------+------+---------------------------------------+--------+---------+---------------------------+
  4. | logistic | piduna.pp.ua | loG-1990M | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua/ | 1 | 2048000 | box for logistic |
  5. | 1c | piduna.pp.ua | 1c_user_1c | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua | 1 | 2048000 | Denisyuk V.V. |
  6. | admin | piduna.pp.ua | AAddMmM1N | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua | 1 | 2048000 | Admin |
  7. | al.service | piduna.pp.ua | Alumo_Serv4321 | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua | 1 | 2048000 | Alumo Service |
Мне нужно создать таблицу, с двумя колонками. В одной колонке будет электронный адрес, который конкатенируется из user_name и domain_name из предыдущей таблицы. А в другой колонке будет просто адрес, с названием removed@mail.ru. Как конкатенировать user_name и domain_name ясно, все это делается с помощью инструмента представление в MYSQL:
Листинг программы
  1. CREATE VIEW `forwardings_all_view` AS select lcase(concat(`users`.`user_name`,'@',`users`.`domain_name`)) AS `email_fqn` from `users` where (`users`.`enable` = 1)
Но вот как добавить к этому представление колонку в которой будет адрес removed@mail.ru ? Как я понимаю необходимо создать таблицу с одной колонкой и этим единственным значением. Просто как тогда создать представление из двух таблиц ? Что бы оно брало из одной removed@mail.ru и ставило его в одну колонку, а из другой брало user_name и domain_name и конкатенировало их ? Спасибо если кто откликнется.

Решение задачи: «Создать представление в MySQL из двух таблиц»

textual
Листинг программы
  1. SELECT fld1, 'ABCD' AS Addr
  2. FROM tab1

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

  1. fld1 - это название переменной, которая содержит значения из таблицы tab1.
  2. 'ABCD' - это значение переменной, которое будет отображаться как адрес в результирующем наборе данных.
  3. tab1 - это название таблицы, из которой берутся данные.
  4. fld1 и 'ABCD' - это единственные два элемента, которые участвуют в запросе.
  5. Запрос выполняется на сервере баз данных MySQL.

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


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

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

11   голосов , оценка 3.818 из 5

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

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

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