2013-12-09 4 views
1

У меня есть три разных таблицы.Как получить данные в одном запросе из разных таблиц

Первая таблица

Первая таблица языка (идентификатор, language_name) // идентификатор первичного ключа.

Второй таблица

Второй таблица стихи (идентификатор, topic_id, verse_text) // идентификатор первичный ключ, topic_id является внешним ключом.

Третий Таблица

Третья таблица verse_translations (идентификатор, verse_id, LANGUAGE_ID, translations_text) // идентификатор первичный ключ, LANGUAGE_ID является ссылки на внешние ключи с языком таблицы, // verse_id это ссылки на внешние ключи со стихом Таблица.

Теперь мой вопрос.

Как я могу получить список стихов с переводами стихов и доступными языками определенного topic_id в одном запросе MYSql.

В качестве примера я привел ниже.

verse_id | topic_id | verse | verse_translation  | language | 

    1   1  verse here  translation here  English 
             translation here  Spanish 
             translation here  Japanese 
             translation here  Italian 

Любая помощь будет оценена по достоинству.

Спасибо.

+6

Посмотрите, что я нашел: http://dev.mysql.com/doc/refman/5.0/ru/join.html – Tredged

+0

«Вопрос не показывает каких-либо исследований, он неясен или не полезен» –

+0

, тип которого исследований вам нужно? Я задал простой вопрос. что я хочу получить результат, как я описал в форме таблицы. –

ответ

1

Я думаю, что это нужно сделать, это:

SELECT verse.id, 
    verse.topic_id, 
    verse.verse_text, 
    verse_translations.translations_text, 
    language.language_name 
FROM verse 
    INNER JOIN verse_translations ON verse.id = verse_translations.verse_id 
    INNER JOIN language ON verse_translations.language_id = language.id 
WHERE verse.topic_id = 1 

Имейте в виду, что все строки заполнены. Таким образом, столбец topic_id составляет 1 полностью.

+0

Спасибо, сэр 4 ваша помощь, но вышеприведенный запрос я могу написать. Мне нужны данные, как я описал в форме таблицы. –

+0

Вам нужны пустые ячейки, которые вы имеете в виду? Не произойдет. PHP может помочь вам в этом, но MySQL не может этого сделать. – Halcyon

+0

ok. Спасибо за помощь. –

0

Пожалуйста, обратитесь к этому сообщению MySql Join three tables

Внести изменения в соответствии с вашими потребностями.

Смежные вопросы