1

勉強用にそっくりなツイッターを作ってみたのですが…今、ユーザーが他のユーザーをフォローできるようにクエリを作成しようとしています。

user 、 userdetails tweets 、および follow の 4 つのテーブルがあります。

次の表は、主キー ID 、 user_ID 、および次の ID の 3 つの行のみで機能します。したがって、私 (ユーザー 1) が following_id(2) を呼び出した場合、メッセージが user_id で保存されるテーブルのつぶやきからすべての結果を取得するという計画です。

しかし、テーブルを呼び出すと、2行しか出力されません。user_id によって。メッセージ ID でグループ化されていません。

これは、2 つの結果しか得られないクエリです。

SELECT user.email, user.username, tweets.message, tweets.date, userdetails.profile_img, userdetails.firstname, userdetails.lastname, following.id, following.user_id, following.follow_id
FROM user
JOIN userdetails ON user.id = userdetails.user_id
JOIN tweets ON userdetails.user_id = tweets.user_id
JOIN following ON tweets.id = following.follow_id
GROUP BY tweets.message

テーブル構造。

    Following
    id | user_id | follow_id

    Tweets
    user_id|id|date|message

    user
    id|email|password|username

    userdetails
    id|firstname|lastname|profile_img|user_id|about

しかしアウトプリントはこちらになります

email|username | message | date |profile_img |firstname |lastname |id |user_id
1. email 1...username message date......
2 .email 2........username message date.....

考え ?または、次の表で間違っていると思いますか?

4

1 に答える 1

1

あなたは正しいクエリに非常に近いです:単に置き換えるだけです

 tweets.id = following.follow_id

 tweets.user_id = following.follow_id
于 2013-04-19T16:16:37.020 に答える