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_file、名前、画像) を追加するために使用される h_token が関連付けられています。

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;

これは基本的にはオリジナルのクエリですが、credential テーブルと tweets テーブルの h_token が一致するたびに、credential テーブルから 3 つの列を追加します......

于 2013-06-15T20:02:03.937 に答える