我有一个看起来像这样的表:
A 1
A 2
B 1
B 2
B 3
我想生成一个如下所示的结果集:
A 1 2
B 1 2 3
第一栏有问题和其他答案,但每个答案都必须在不同的栏目中。所以我不需要在同一列中像1,2,3这样的concat。
期望:
Question Answer1 Answer2 Answer3 ...
A 1 2
B 1 2 3
是否有SQL语句可以执行此操作?我正在使用Access 2007。
我的基本查询是:
SELECT questions.Question, answers.Answer
FROM ((base INNER JOIN customers ON base.Patient_ID = customers.Identyfikator) LEFT JOIN answers ON base.answer_ID = answers.ID)
LEFT JOIN questions ON base.question_ID = questions.ID
WHERE (((customers.Identyfikator)=[param_ID]));
答案 0 :(得分:0)
是的,您可以使用var isiOS = (navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone') || navigator.userAgent.match('iPod'));
var isAndroid = navigator.userAgent.match('Android');
var isWP = navigator.userAgent.match('Windows Phone') || navigator.userAgent.match('IEMobile');
if (isiOS){
setTimeout(function () { window.location = siteURL; }, 25); //fall back url
$('body').append('<iframe style="visibility: hidden;" src="'+ appURI +'" />');
} else if ((isAndroid) || (isWP)){
setTimeout(function () { window.location = siteURL; }, 25); //fall back url
window.location = appURI;
} else { // if (isOtherPlatform)
window.location = siteURL;
}
这是一个例子:
PIVOT
不确定这是否完全正确,因为我没有2007和你的模型进行测试,但试试这个:
SELECT Config_ID
FROM TABLE_01
GROUP BY Config_ID
PIVOT ConfigField
答案 1 :(得分:0)
您需要使用PIVOT
,但MS Access语法是非标准的
请尝试以下代码:
TRANSFORM questions.Answer
SELECT questions.Question, answers.Answer
FROM ((base INNER JOIN customers ON base.Patient_ID =
customers.Identyfikator) LEFT JOIN answers ON base.answer_ID = answers.ID)
LEFT JOIN questions ON base.question_ID = questions.ID
WHERE (((customers.Identyfikator)=[param_ID]))
GROUP BY questions.question
PIVOT questions.Answer;
我已经尝试了对您给定的样本数据的查询,并且我已经获得了预期的结果。