我试图同时从3个不同的表中打电话。
表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 :(得分: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)