如下4个表进行跨表查询要求写出SQL查询语句,达到如下效果:
问题ID 问题分类中文名 问题内容 对应的回答类列 对应的评论列表例如
问题1 分类1 问题1的内容 问题1的 回答1
问题1 的回答1的评论1
问题1 的回答1的评论2
问题1 的回答1的评论3
……
问题1的 回答2
问题1 的回答2的评论1
问题1 的回答2的评论2
……
问题2 分类2 问题2的内容 问题2的回答1
问题2的回答1的评论1
问题2 的回答1的评论2
……
问题2的 回答2
问题2的回答2的评论1
问题2的 回答2的评论2
……
……
(格式可能做不到,主要是内容能逐一分别列出来)
求助, 感谢!!!数据库如下:
MYSQL数据库-- 表的结构 `answer`CREATE TABLE `answer` (
`id` int(10) unsigned NOT NULL auto_increment,
`qid` int(10) unsigned NOT NULL default '0',
`content` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `qid` (`qid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=44 ;INSERT INTO `answer` (`id`, `qid`, `content`) VALUES
(1, 1, '问题1的回答1'),
(2, 1, '问题1的回答2'),
(3, 2, '问题2的回答1'),
(4, 1, '问题1的回答3'),
(5, 2, '问题2的回答2');CREATE TABLE `comment` (
`id` int(10) NOT NULL auto_increment,
`aid` int(10) NOT NULL,
`content` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=121 ;INSERT INTO `comment` (`id`, `aid`, `content`) VALUES
(1, 2, '问题1回答2的评论1'),
(2, 2, '问题1的回答2的评论2'),
(3, 1, '问题1的回答1的评论1'),
(4, 2, '问题1的回答2的评论3');
CREATE TABLE `fl` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`name` char(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;INSERT INTO `fl` (`id`, `name`) VALUES
(1, '分类1'),
(2, '分类2');CREATE TABLE `question` (
`id` int(10) unsigned NOT NULL auto_increment,
`cid` smallint(5) unsigned NOT NULL default '0',
`title` char(50) NOT NULL,
`cotent` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=82 ;INSERT INTO `question` (`id`, `cid`, `title`, `cotent`) VALUES
(1, 1, '问题1', '问题1的内容'),
(2, 2, ' 问题2', '问题2的内容');
问题ID 问题分类中文名 问题内容 对应的回答类列 对应的评论列表例如
问题1 分类1 问题1的内容 问题1的 回答1
问题1 的回答1的评论1
问题1 的回答1的评论2
问题1 的回答1的评论3
……
问题1的 回答2
问题1 的回答2的评论1
问题1 的回答2的评论2
……
问题2 分类2 问题2的内容 问题2的回答1
问题2的回答1的评论1
问题2 的回答1的评论2
……
问题2的 回答2
问题2的回答2的评论1
问题2的 回答2的评论2
……
……
(格式可能做不到,主要是内容能逐一分别列出来)
求助, 感谢!!!数据库如下:
MYSQL数据库-- 表的结构 `answer`CREATE TABLE `answer` (
`id` int(10) unsigned NOT NULL auto_increment,
`qid` int(10) unsigned NOT NULL default '0',
`content` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `qid` (`qid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=44 ;INSERT INTO `answer` (`id`, `qid`, `content`) VALUES
(1, 1, '问题1的回答1'),
(2, 1, '问题1的回答2'),
(3, 2, '问题2的回答1'),
(4, 1, '问题1的回答3'),
(5, 2, '问题2的回答2');CREATE TABLE `comment` (
`id` int(10) NOT NULL auto_increment,
`aid` int(10) NOT NULL,
`content` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=121 ;INSERT INTO `comment` (`id`, `aid`, `content`) VALUES
(1, 2, '问题1回答2的评论1'),
(2, 2, '问题1的回答2的评论2'),
(3, 1, '问题1的回答1的评论1'),
(4, 2, '问题1的回答2的评论3');
CREATE TABLE `fl` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`name` char(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;INSERT INTO `fl` (`id`, `name`) VALUES
(1, '分类1'),
(2, '分类2');CREATE TABLE `question` (
`id` int(10) unsigned NOT NULL auto_increment,
`cid` smallint(5) unsigned NOT NULL default '0',
`title` char(50) NOT NULL,
`cotent` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=82 ;INSERT INTO `question` (`id`, `cid`, `title`, `cotent`) VALUES
(1, 1, '问题1', '问题1的内容'),
(2, 2, ' 问题2', '问题2的内容');
解决方案 »
- 如何限制mysql账号对数据库服务器cpu以及I/0资源等的使用率,比方限制为50%!
- 急求一条查询语句
- 一个表里删除一行之后如何对rowNum列进行重排序
- 各位mysql达人,请教windows下编译mysql5.0.51b遇到找不到bison.exe问题!
- hi, 如果uid 属于某个集合要怎么写?
- mysql中把一个表中部分数据插到另一个表中,高手指教!急~详细问题秒素在帖子里
- MYSQL 写php脚本,调试的环境问题
- mySql 循环读取并修改的sql函数怎么写
- 大量mysql bin日志删除不掉
- Mysql1130问题
- phpmyadmin 进入出错
- mysql的and or的SQL优化
+----+-----+--------------+
| id | qid | content |
+----+-----+--------------+
| 1 | 1 | 问题1的回答1 |
| 2 | 1 | 问题1的回答2 |
| 3 | 2 | 问题2的回答1 |
| 4 | 1 | 问题1的回答3 |
| 5 | 2 | 问题2的回答2 |
+----+-----+--------------+
5 rows in set (0.00 sec)mysql> select * from comment;
+----+-----+---------------------+
| id | aid | content |
+----+-----+---------------------+
| 1 | 2 | 问题1回答2的评论1 |
| 2 | 2 | 问题1的回答2的评论2 |
| 3 | 1 | 问题1的回答1的评论1 |
| 4 | 2 | 问题1的回答2的评论3 |
+----+-----+---------------------+
4 rows in set (0.00 sec)mysql> select * from fl;
+----+-------+
| id | name |
+----+-------+
| 1 | 分类1 |
| 2 | 分类2 |
+----+-------+
2 rows in set (0.00 sec)mysql> select * from question;
+----+-----+--------+-------------+
| id | cid | title | cotent |
+----+-----+--------+-------------+
| 1 | 1 | 问题1 | 问题1的内容 |
| 2 | 2 | 问题2 | 问题2的内容 |
+----+-----+--------+-------------+
2 rows in set (0.00 sec)mysql>