0

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

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

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

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

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

片段 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、名称和图片)

4

1 回答 1

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 匹配时,从凭证表中添加三列......

于 2013-06-15T20:02:03.937 回答