【发布时间】:2013-02-06 08:22:49
【问题描述】:
我正在从三个表中获取数据。 我想在jsp页面中显示这些数据。 我的问题是加入后数据是多余的
我不想显示冗余数据。
我的桌子是
create table questions(id integer,title varchar(140),body varchar(2000),
primary key(id));
create table question_tags(id integer,tag_name varchar(50),question_id integer,
primary key(id),foreign key(question_id) references questions(id));
create table answers(id integer,answer varchar(2000),question_id integer,
primary key(id),foreign key(question_id) references questions(id));
查询以获取数据
SELECT questions.*,`question_tags`.*, `answers`.*
FROM `questions`
JOIN `answers`
ON `questions`.`id` = `answers`.`question_id`
JOIN `question_tags`
ON `questions`.`id` = `question_tags`.`question_id`
WHERE `questions`.`id` = '1'
获取数据后的结果
ID TITLE BODY TAG_NAME QUESTION_ID ANSWER
1 a hello java 1 good
1 a hello java 1 exellent
1 a hello java 1 ok
1 a hello mysql 1 good
1 a hello mysql 1 exellent
1 a hello mysql 1 ok
1 a hello jquery 1 good
1 a hello jquery 1 exellent
1 a hello jquery 1 ok
这里我正在使用结果集填充数据并在 jsp 中显示
我想在我的jsp中显示以下数据
question.id|question.title|question.body|tag_names | answers
1 a hello java good
mysql excellent
jquery ok
这仅适用于几行。 这里总的 o/p 行是 1*3*3=9 如果表中的数据增加了,那么重复数据增加了如何解决它。 上面的代码是sql fiddle
【问题讨论】: