1

参照 (上) とツイート (下) の 2 つのテーブルがあります。

tweet_id  class_id
------------------
2         1
5         1
6         2

tweet_id  text
------------------
1         foo
2         bar
3         baz
4         foobar
5         boobaz
6         foo bar
7         bar baz

参照テーブルにあるツイートのすべての情報を取得したい。望ましい出力は次のとおりです。

tweet_id  class_id  text
---------------------------
2         1         foo
5         1         foobaz
6         2         foo bar

私は今使用しています:

SELECT r.tweet_id, t.text, r.class_id
FROM tweets t 
LEFT JOIN `references` r ON (r.tweet_id = t.tweet_id) 
ORDER BY r.tweet_id ASC LIMIT 100

しかし、これは tweet_id を取得しようとするときに手ぶらで済みます。ただし、テキストは表示されます。

while($tweet = db_fetch_object($result)) {
  echo "$tweet->tweet_id $tweet->text"
}

結果セット (phpmyadmin で確認) では、各レコードの tweet_id と class_id が NULL です。私は何を間違っていますか?

4

1 に答える 1

1

気にしないでください:-)私はLEFT JOINその逆をすべきでした:

SELECT r.tweet_id, r.class_id, t.text
FROM `references` r
LEFT JOIN tweets t ON (r.tweet_id = t.tweet_id) 
ORDER BY r.tweet_id ASC LIMIT 100
于 2012-05-09T20:18:15.980 に答える