0

1つのSQLクエリについて少し助けが必要です。

これが私の基本的なユーザーデータベーステーブルです

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(100) NOT NULL,
  `pass` varchar(255) NOT NULL,
  `fname` varchar(50) NOT NULL,
  `lname` varchar(40) NOT NULL, 
  `network` varchar(10) NOT NULL, 
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;

これが私の基本的なトピックのデータベーステーブルです

CREATE TABLE IF NOT EXISTS `topics` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userid` varchar(100) NOT NULL,
  `title` varchar(255) NOT NULL,
  `body` text,
  `tags` varchar(256) NOT NULL,  
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

私がやろうとしているのは、つまり、「ハーバード」ネットワークに参加したユーザーからのすべてのトピックを一覧表示します

4

3 に答える 3

1

シンプルなJOIN. ( にいるユーザーの) userID でテーブルを結合し"harvard"ます。

SELECT title,body
FROM topics, users
WHERE userid = users.id
AND network = 'harvard'

または、次のJOINキーワードを使用します。

SELECT title,body
FROM topics
JOIN users ON userid = users.id
WHERE network = 'harvard'
于 2012-07-11T16:32:35.157 に答える
1

これでうまくいくはずです。

SELECT 
    title 
FROM 
    topics t
INNER JOIN
    users u ON t.userid=u.id 
WHERE 
    network='Harvard'
于 2012-07-11T16:33:33.043 に答える
1
SELECT t.title
FROM users u
INNER JOIN topics t ON u.id = t.userid
WHERE u.network = 'harvard'
GROUP BY u.id
于 2012-07-11T16:33:38.060 に答える