2013-01-18 47 views
0

的SELECT部分​​在Moodle中使用“和”,我使用下面的脚本来拉一些数字 - 他们出来罚款:MOODLE在MySQL声明

SELECT 
qc.name, 
q.category, 
SUM(IF(qs.grade = "1",1,0)) AS Correct, 
SUM(IF(qs.grade = "0",1,0)) AS Wrong 

FROM 
mdl_question_states qs, 
mdl_quiz_attempts qa, 
mdl_quiz qz, 
mdl_course c, 
mdl_question q, 
mdl_question_categories qc 

WHERE 
qa.id = qs.attempt 
AND qs.event = 6 
AND qa.quiz = qz.id 
AND ((qz.name = 'Pre-Test') OR (qz.name = 'Post-Test')) 
AND qz.course = c.id 
AND q.id = qs.question 
AND q.category = qc.id 
AND q.category > 601 

GROUP BY q.category 

ORDER BY qc.name 

我的问题是这样的:我想有一列(在SUM(IF ...'列)之后是'正确的-AND-预测试',后面跟着'正确的-AND-后测试'

什么是语法做到这一点?

+0

我认为你从qz.name那里得到前/后测试的东西? –

+0

是的,这是正确的。 –

+0

'sum(if(qs.grade ='1'and qz.name ='pre-test'),1,0))as cor_and_pre' –

回答

0

试试

SUM(IF(sq.grade = '1' AND qz.name='pre-test', 1, 0)) AS cor_and_pre 

和其他值类似。