"Подмена" занчений нескольких столбцов значениями из другой таблицы - MySQL
Формулировка задачи:
Доброго времени суток. Я создал две MySQL таблицы.
Первая:
| ID | Текст | ID1 | ID2 | ID3 | ID4 |
Вторая:
| ID | Текст |
Где ID1, ID2, ID3 и ID4 принимают значения поля ID из второй таблицы.
Вопрос: как SQL запросом получить таблицу
| Текст | Текст1 | Текст2 | Текст3 | Текст4 |
где Текст1, Текст2, Текст3 и Текст4 - это значение поля Текст из второй таблицы для соответствующего ID (1-4) из первой. Надеюсь, понятно описал.
Таблица 1 выглядит примерно так
| 1 | Текст | 1 | 2 | 3 | 4 |
| 2 | Текст | 5 | 6 | 7 | 8 |
Таблица 2 выглядит примерно так:
| 1 | Текст |
| 2 | Текст |
| 3 | Текст |
| 4 | Текст |
| 5 | Текст |
| 6 | Текст |
| 7 | Текст |
| 8 | Текст |
Решение задачи: «"Подмена" занчений нескольких столбцов значениями из другой таблицы»
textual
Листинг программы
SELECT text,(SELECT text1 FROM tb11 WHERE tb10.id1=tb11.id) AS t,(SELECT text1 FROM tb11 WHERE tb10.id2=tb11.id) AS t2,(SELECT text1 FROM tb11 WHERE tb10.id3=tb11.id) AS t3,(SELECT text1 FROM tb11 WHERE tb10.id4=tb11.id) AS t4 FROM tb10;
Объяснение кода листинга программы
- В данном коде происходит выборка данных из таблицы
tb10с помощью оператораSELECT. - В качестве выбранных значений используются столбцы
textиidиз таблицыtb11. - Для каждого столбца
idиз таблицыtb10производится подстановка соответствующего значения из таблицыtb11. - Результатом запроса является список значений из таблицы
tb10, в которых заменяются значения столбцовtextиidна соответствующие значения из таблицыtb11.