Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 01.02.2013
Сообщений: 28
1

Замена значений для двух и более полей

23.07.2014, 00:58. Показов 1057. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,

Что-то не могу разобраться как с помощью JOINов выполнить подстановку в таблицу нескольких значений из другой таблицы.

Простой пример:

Таблица users:

MySQL
1
2
3
4
5
6
7
8
+---------+-------+
| id_user | name  |
+---------+-------+
|       1 | Vasya |
|       2 | Mama  |
|       3 | Papa  |
|       4 | Uncle |
+---------+-------+
Таблица topics:

MySQL
1
2
3
4
5
6
7
+----------+-----------+--------------+
| id_topic | author_id | responder_id |
+----------+-----------+--------------+
|        1 |         1 |            1 |
|        2 |         3 |            1 |
|        3 |         2 |            4 |
+----------+-----------+--------------+
Нужно, чтобы в результате выполнения запроса выдавалась таблица topics с именами вместо ID номеров.

Для одного из полей всё просто:

MySQL
1
2
3
4
5
6
7
8
9
10
11
SELECT topics.id_topic, users.name AS author_id, topics.responder_id
FROM topics JOIN users ON users.id_user = topics.author_id
ORDER BY id_topic;
 
+----------+-----------+--------------+
| id_topic | author_id | responder_id |
+----------+-----------+--------------+
|        1 | Vasya     |            1 |
|        2 | Papa      |            1 |
|        3 | Mama      |            4 |
+----------+-----------+--------------+
А как сделать для 2ух (3ёх, 4ёх и т.д.)?

Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2014, 00:58
Ответы с готовыми решениями:

Запрос для сравнений значений полей двух таблиц и удаление записи, если значение не нашлось
приветствую, прошу помочь, голову ломаю уже как час, как можно правильно написать такой...

Выборка данных по условию - разность двух полей дат не более суток
Уважаемые гуру! В таблице DataSet есть 2 поля типа DateTime. Нужно с помощью select выбрать...

Сравнение двух полей на схожесть значений
Задача может показаться глупой. Есть таблица(к примеру): Списки КОД | Значение 1 |...

сравнение значений полей двух объектов структуры
допустим, у меня есть структура, два ее объекта и переменная, которая изначально равна 0: type ...

1
142 / 142 / 63
Регистрация: 18.07.2014
Сообщений: 473
23.07.2014, 02:15 2
Нужно JOINить для каждого поля

Добавлено через 13 минут
Т.е. примерно так

MySQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT topics.id_topic, u1.name AS author_id, u2.name AS responder_id FROM topics
JOIN users AS u1 ON u1.id_user = topics.author_id
JOIN users AS u2 ON u2.id_user = topics.responder_id
ORDER BY id_topic;
 
+----------+-----------+--------------+
| id_topic | author_id | responder_id |
+----------+-----------+--------------+
|        1 | Vasya     |        Vasya |
|        2 | Papa      |        Vasya |
|        3 | Mama      |        Uncle |
+----------+-----------+--------------+
0
23.07.2014, 02:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.07.2014, 02:15
Помогаю со студенческими работами здесь

Запрос в 1С: объединение значений двух полей в одно
Подскажите, как правильно сформировать запрос, чтобы была одна строка ( план и факт были во одной...

Суммирование значений в ячейках двух полей DGV
Помогите сделать так что бы когда жму на кнопку то из поля Остаток прибавляло число к полю...

Структура: подсчет максимальных и минимальных значений, сумм и средних значений для числовых полей
Структура должна включать не менее 10 столбцов, в том числе – строковые, числовые и дата, всего в...

Экспорт в одну ячейку Excel значений из двух полей DBGrid
Приветствую. ТАкая ситуация. Есть справочник сотрудников (адреса, телефоны, дата рождения и т.д.)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru