Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Действует сервис переписки внутри портала, между его пользователями.
Таблица_1 со списком пользователей портала.
ID, int name, text
1 Имя_1
2 Имя_2
3 Имя_3
4 Имя_4
5 Имя_5
6 Имя_6
7 Имя_7
Таблица_2, в которой хранится история переписки.
ID, int name_to name_from message
1 ID_2 ID_7 message_1
2 ID_1 ID_6 message_2
3 ID_4 ID_7 message_3
4 ID_5 ID_6 message_4
5 ID_3 ID_6 message_5
Что должно получиться.
Таблица_3.
ID, int name_to name_from message
1 Имя_2 Имя_7 message_1
2 Имя_1 Имя_6 message_2
3 Имя_4 Имя_7 message_3
4 Имя_5 Имя_6 message_4
5 Имя_3 Имя_6 message_5
То есть, фактически, во второй таблице надо заменить цифровые ID имён пользователей на сами словесные имена.
Чтобы стало можно было прочесть словесные имена отправителей (name_from) и получателей (name_to) сообщений (message).
Отредактированно Федосей (01.12.2021 12:11:23)
Неактивен
Неактивен
Спасибо. Однако.
Ответ MySQL: #1054 - Неизвестный столбец 'name_to' в 'on clause' .
Тип сервера: MariaDB .
К тому же, вызывают опасения фрагменты запроса со знаком равенства.
"t1.id = name_to", "t2.id = name_from".
Расшифровка этих фрагментов показывает, что знак равенства поставлен между разными типами данных: цифрами и строками.
"`Таблица_1`.`id`(int ) = `Таблица_1`.`name`(text)", "`Таблица_2`.`id`(int) = `Таблица_2`.`name`(text)".
Отредактированно Федосей (03.12.2021 11:38:17)
Неактивен
Неактивен
Теперь получилось. Большое спасибо.
Поясняю для новичков в "мускульном" (MySQL) деле.
Чтобы не возникла путаница в понимании.
В данном запросе два выражения "name_to" и "name_from" сначала идут как псевдонимы полей, а затем как названия полей, которые действительно существуют в таблице "Таблица_2".
Неактивен
Страниц: 1