我有一个MySQL数据库,其中有两个表格用于提问和回答。每个问题都有正确的答案和三个不正确的答案。每个问题总是有四个答案,只有一个是正确的。SELECT查询在MySQL中获取作为列的表的行数
的表是:
CREATE TABLE `question` (
`id_question` smallint(5) unsigned NOT NULL auto_increment,
`text` varchar(255) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id_question`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `answer` (
`id_answer` mediumint(8) unsigned NOT NULL auto_increment,
`id_question` smallint(5) unsigned NOT NULL,
`is_correct` tinyint(1) NOT NULL,
`text` varchar(45) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id_answer`,`id_question`),
KEY `fk_id_question_idx` (`id_question`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
我需要一个选择查询的帮助。我想在行中得到一个问题表,并将四个答案作为列(首先是正确的,然后是其他三个)。到目前为止,我能够得到这样的输出:
Question | Answer | Is_Correct
-------------------------------
Question 1 Answer 1-1 1
Question 1 Answer 1-2 0
Question 1 Answer 1-3 0
Question 1 Answer 1-4 0
Question 2 Answer 2-1 1
Question 2 Answer 2-2 0
Question 2 Answer 2-3 0
Question 2 Answer 2-4 0
...
我如何得到以下结果?
Question | Correct_Answer | Incorrect_answer1 | Incorrect_answer2 | Incorrect_answer3
--------------------------------------------------------------
Question 1 Answer 1-1 Answer 1-2 Answer 1-3 Answer 1-4
Question 2 Answer 2-1 Answer 2-2 Answer 2-3 Answer 2-4
我不熟悉在MySQL中的枢轴查询,但这是一个开始googling :)的好地方。希望我能帮到更多...我确信有人会发布答案。 – 2013-03-07 19:33:49