10.02.2014, 17:05
Quote:
Приветствую, друзья. Меня интересует постановка одного запроса, я сейчас напишу, а вы поправите..
Суть: у нас есть имя Вася, и в первой таблице на этом имени есть свой ключ(id). Нам надо получить всё из таблицы, в которой есть имя Вася, попутно получив из неё значение ключа, потом обратится с этим ключом в другую таблицу, и извлечь все по этому ключу. pawn Код:
|
Код:
SELECT * FROM first_table a INNER JOIN second_table b ON a.id=b.id WHERE a.name='Vasya'
Для объединения трёх и более таблиц формат INNER JOIN таков:
Код:
SELECT * FROM t1 INNER JOIN (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) WHERE t1.name='Vasya'
Да, и по поводу автоинкремента: если ты создаёшь несколько таблиц и связываешь их столбцы по ключу, то инкремент ключевого поля должен присутствовать только в одной из этих таблиц! А остальные же получают значение ключевого поля исходя из таблицы с инкрементом. Например:
Код:
Таблица palyers содержит инкремент поля id: id name passwd ip 1 Vasya 12345 127.0.0.1 2 Alex qwerty 95.132.11.59 Таблице scores инкремент не нужен! id score 2 15 1 1000