动态数据MySQL数据库问题

时间:2015-06-24 01:01:43

标签: mysql sql pivot

我有以下表格:

  • Question (id, question)
  • Answer (id, answer, qId, sess)
  • Answer.qId = Question.id

我想要的查询输出(基于下面的数据)将是:

+----+-----+------+
|sess|Color|Shape | 
+----+-----+------+
|ses1|green|square| 
|ses2|black|square| 
|ses3|black|circle|
+----+-----+------+

' sess' (意思是会话)为Answer.sess,其他列应从Question.question表生成。

我不知道'问题'的行数/行数。表,这些可能会改变。所以我无法对查询进行硬编码。我相信这可以使用预先准备的语句来完成。我已经看到一些准备好的陈述作为类似问题的stackflow的答案,但是要么是一个表,要么值是问题表的一部分,无论哪种方式我似乎都无法解决它!

示例模式/数据:

CREATE TABLE answer
(`id` int, `answer` varchar(16), `qId` int, `sess` varchar(15));

INSERT INTO answer
(`id`, `answer`, `qId`, `sess`)
VALUES
(1, 'green', 1, 'ses1'),
(2, 'square', 2, 'ses1'),
(3, 'black', 1, 'ses2'),
(4, 'square', 2, 'ses2'),
(5, 'black', 1, 'ses3'),
(6, 'circle', 2, 'ses3');

CREATE TABLE question
(`id` int, `question` varchar(10));

INSERT INTO question
(`id`, `question`)
VALUES
(1, 'Color'),
(2, 'Shape');

0 个答案:

没有答案