1
私が達成したいのは、私の友人だけが書いたコメントを選択することです。私は以下の表を持っています。複数のテーブルをクエリするには?
友達
id
my_user_id
friend_user_id
コメント
id
user_id
comment
これは私がこれまでやった方法です。
まず友人のテーブルの私の友達である人を見つける:
mysql_query("SELECT friend_user_id FROM friends
WHERE my_user_id = $user_id ");
それから私は私の友人が書いたコメントを選択しました。
mysql_query("SELECT * FROM comments WHERE user_id = 'my_first_friends_id'
OR user_id = 'my_second_friends_id' ");
今、これはラメのバージョンであり、非常に遅いです。コメント表には何百万ものエントリがあります。
この問題の最適な解決策は何ですか? 1つのクエリでこれを解決するにはどうすればよいですか?また、高速であることが非常に重要です。
ありがとう、私は今試してみます。 cとは何ですか?およびf。 ? – Maxxon
@Maxxonこれらはテーブルエイリアスで、各テーブル名を繰り返し入力することなく、それらのテーブルの列を参照できます。 –
friend_user_idとuser_idがbtwであることを確認してください。 cとfはテーブルエイリアスなので、 "Friends"を何度も繰り返し書く必要はありません。 –