несколько таблиц

zul

Новичок
несколько таблиц

Как правильно и быстро связать 3 таблицы таких:
1ая - id, name, phone
2ая - id, smoke, drink
3яя - id, question_1, question_2
причём в 1ой записи идут по порядку, а во второй и первой нет.
нужно вывести всё в одну таблицу
id | name | phone | smoke | drink | question_1 | question_2 |
1 |Вася | 123 | yes | no | 1 | 0 |
2 | Миша | 234 | | | 1 | 1 |
3 | Коля | 456 | yes | no | | |

т.е. первая запись есть во всех табл, вторая в 1ой и 3ей, третья в 1ой и во второй..
вот все варианты...

т.е. я получается пишу:
select id.table1, name.table1, smoke.table2, drink.table2 from table1, table2 where id.table1 = id.table2;
так? и если 3 таблицы, то тоже самое?
 

chira

Новичок
Код:
mysql> SELECT t1.id,t1.name,t1.phone,t2.smoke,t2.drink,t3.q1,t3.q2
    -> FROM t1 LEFT JOIN t2 ON t1.id=t2.id LEFT JOIN t1 tt ON t1.id=tt.id LEFT JOIN t3 ON tt.id=t3.id;
+------+-------+-------+-------+-------+------+------+
| id   | name  | phone | smoke | drink | q1   | q2   |
+------+-------+-------+-------+-------+------+------+
|    1 | Vasja | 123   | yes   | no    | 1    | 0    |
|    2 | Misa  | 234   | NULL  | NULL  | 1    | 1    |
|    3 | Kolja | 456   | yes   | no    | NULL | NULL |
+------+-------+-------+-------+-------+------+------+
3 rows in set (0.01 sec)

mysql>
 

zul

Новичок
а join необходимо делать именно последовательно или можно по первой таблице?
 

chira

Новичок
если интересно, можешь посортировать JOINы, оставляя t1 на первом месте.
 

zul

Новичок
стоп, вообще-то я так и сделал, это что, вызовет какую-то не правильную работу выборки?
 

Апельсин

Оранжевое создание
> стоп, вообще-то я так и сделал, это что, вызовет какую-то не правильную работу выборки?

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

zul

Новичок
я сделал join по первой таблице, никаких проблем это не вызвало... я проверял.. доку я почитал, про последовательность всё понял...
так получается, что если делать как я, то не должно получаться?
 
Сверху