2014-12-05 4 views
-2

Я пытаюсь позвонить из трех разных таблиц сразу.Могу ли я использовать два JOIN за один раз?

Таблица a имеет общие данные.

Таблица td & dmd имеет конкретные данные к своим точкам данных.

Мой звонок (упрощенный) выглядит следующим образом.

SELECT a.*, td.*, dmd.* 
FROM activities as a, tweet_activity_data AS td, direct_message_activity_data AS dmd 
WHERE a.activity_id IN (1,2,3,4,5) 
AND a.activity_id = dmd.id 
AND a.activity_id = td.tweet_id 

Эти две последние строки, где я столкнулся с проблемой, я думаю.

Мне нужно, чтобы все было правильно настроено в моем ответе, и это просто не дает никаких результатов.

Могу ли я использовать два соединения, подобные этому в вызове SQL?

+0

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

+0

Вы можете добавить столько, сколько необходимо. Там нет неотъемлемого предела. – tadman

+0

Убедитесь, что у вас есть данные в объединенной таблице, соответствующие вашему запросу. – NoChance

ответ

0

Да, но для объединения таблиц используйте ключевое слово JOIN и ON. В частности, материал, который в настоящее время находится в вашем предложении WHERE, окажется в виде предложений ON, рассказывая о том, как присоединиться к таблицам. Таким образом, ваш запрос будет выглядеть так:

SELECT a.*, td.*, dmd.* 
FROM activities as a 
JOIN tweet_activity_data AS td 
    ON a.activity_id = td.tweet_id 
JOIN direct_message_activity_data AS dmd 
    ON AND a.activity_id = dmd.id 
WHERE a.activity_id IN (1,2,3,4,5) 
Смежные вопросы