1

我有两个表:引用(顶部)和推文(底部):

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 回答