SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.01.2012 13:17:26

Stinkybob
Участник
Зарегистрирован: 03.01.2012
Сообщений: 2

Объединение 3 таблиц

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

в общем есть 3 таблицы

table1

+----+------+-------+
| id   | user  |  text   |
+----+------+-------+
|  1   |    1   |  text1 |
|  2   |    1   |  text2 |
+----+------+-------+

table2

+----+-------+------+------+
| id   |   t1    | user  |  text  |
+----+-------+------+------+
|  1   |     1   |    1   | text8 |
|  2   |     1   |    2   | text9 |
|  3   |     2   |    1   | text7 |
|  4   |     2   |    2   | text0 |
+----+-------+------+------+

table3

+----+---------+
| id   | name     |
+----+---------+
|  1   | Дмтрий  |
|  2   | Роман    |
+----+---------+

собственно задача такая

вытаскиваем все из первой таблице, затем делаю join второй таблице где table1.id = table2.t1 и join table3 где table1.user = table3.id

получаем примерно следующее

table1                   table3            table1         table2        table2
+-------+--------+------------+-----------+---------+---------+
| t1.id   | t1.user  | t3.name     |  t1.text     |  t2.user |  t2.text  |
+-------+--------+------------+-----------+---------+---------+
|  1       |    1      | Дмтрий      |  text1       |  1         | text8     |
|  1       |    1      | Дмтрий      |  text1       |  2         | text9     |
|  2       |    1      | Дмтрий      |  text2       |  1         | text7     |
|  2       |    1      | Дмтрий      |  text2       |  2         | text0     |
+-------+--------+------------+-----------+---------+---------+

все в принципе хорошо, только вот в таблице 2 также содержиться столбик user. Как можно вытащить имена и для этого значения?

Спасибо.

Отредактированно Stinkybob (03.01.2012 13:22:08)

Неактивен

 

#2 03.01.2012 17:02:07

wine-time
Завсегдатай
Зарегистрирован: 17.06.2011
Сообщений: 42

Re: Объединение 3 таблиц

select something as something_new
from table
where something = 12
limit 1;


Этот запрос отдаст: something_new: 12

Соответственно, переименуйте столбец так, как вам будет понятнее и работайте дальше.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson