合并来自2个表的数据?

时间:2013-06-15 19:54:51

标签: mysql

我一直在复制我的数据,如下面 Snippet 1 中的星号*所示。这种重复使我能够运行一个简单的查询:

"SELECT * FROM tweets ORDER BY time DESC LIMIT 7",

这会将7条推文填充为默认设置。

但是,我想删除这些冗余列。为此,我需要从凭证表中提取其他字段。

我如何运行这样的复杂查询?这可行吗?这是个好主意吗?

Snippet 1

Table 1 - tweets (7)

id
h_token
h_file    *remove and pull from credentials
picture   *remove and pull from credentials    
name      *remove and pull from credentials
tweet
time 



Table 2 -  credentials (12)


id
name
email
h_pass
picture
privacy
h_token
h_file
special
page
pane
remember

每条推文都有一个与之关联的h_token,用于添加关系数据(h_file,name和picture)

1 个答案:

答案 0 :(得分:2)

您需要使用连接操作,如下所示:

SELECT tweets.*, credentials.h_file, credentials.picture, credentials.name 
    FROM tweets JOIN credentials ON tweets.h_token=credentials.h_token 
    ORDER BY time DESC LIMIT 7;

这基本上是您的原始查询,但只要凭证表和推文表中的h_token匹配,就会从凭证表中添加三列......