mysql - запрос трех таблиц - PullRequest
       11

mysql - запрос трех таблиц

2 голосов
/ 11 ноября 2009

У меня есть реляционная база данных с тремя таблицами. Первый содержит идентификаторы, которые относятся ко второму. Второй содержит идентификаторы, которые относятся к третьему. Третий содержит результаты, которые я после.

Возможно ли с помощью одного запроса запросить идентификатор в первой таблице, который дает все результаты третьей таблицы, относящиеся к нему?

Извините, я новичок в mySQL.

Ответы [ 5 ]

9 голосов
/ 11 ноября 2009

Mysql Join

Попробуйте это

select * from table1 t1
join table2 t2 on t1.t2ref = t2.id
join table3 t3 on t2.t3ref = t3.id

Добавить предложение where для поиска определенных строк в таблице1

where t1.field = 'value'
4 голосов
/ 11 ноября 2009

да

SELECT t3.* 
  FROM t1, t2, t3
  WHERE t1.id = t2.id
    AND t2.otherid = t3.id
    AND t1.id = XXXX
3 голосов
/ 11 ноября 2009

вы хотите использовать соединение:

   SELECT `t3`.`id`
     FROM `table3` `t3`
LEFT JOIN `table2` `t2`
       ON `t3`.`foreign_id` = `t2`.`id`
LEFT JOIN `table1` `t1`
       ON `t2`.`foreign_id` = `t1`.`id`
    WHERE `t1`.`id` = 'some_id'
2 голосов
/ 11 ноября 2009

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

Дополнительно я бы порекомендовал этот урок Кейта Брауна.

0 голосов
/ 11 ноября 2009

Вы хотите присоединиться к . Существует множество учебных пособий об этом и различных способов выполнения.

...