我有一個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