我一直在复制我的数据,如下面 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)
答案 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匹配,就会从凭证表中添加三列......