|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Visto che ci sono ne approfitto anche per fare un'altra domanda.
Per maggiore chiarezza posto un dump di esempio.
Codice:
CREATE TABLE `risposte2` (
`id_risposta` int(11) NOT NULL auto_increment,
`id_domanda` int(11) default NULL,
`risposta` varchar(255) default NULL,
`corretta` tinyint(4) default NULL,
`answer` tinyint(4) default NULL,
PRIMARY KEY (`id_risposta`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;
/*Data for the table `risposte2` */
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (1,1,'aaaa',1,1);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (2,1,'bbbb',0,0);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (3,1,'cccc',0,0);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (4,1,'dddd',0,0);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (5,2,'eeee',1,1);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (6,2,'ffff',0,0);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (7,2,'gggg',0,0);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (8,2,'hhhh',1,0);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (9,3,'iiii',1,1);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (10,3,'llll',0,0);
insert into `risposte2` (`id_risposta`,`id_domanda`,`risposta`,`corretta`,`answer`) values (11,3,'mmmm',0,0);
Come vedete una domanda può anche avere più risposte valide.
Devo ovviamente verificare il risultato di tale questionario.
Io ho scritto la seguente query che funziona
Codice:
select id_domanda,if(group_concat(corretta) = group_concat(answer),'corretta','sbagliata') as esito
from risposte2
group by id_domanda
però la soluzione non mi piace per niente perchè faccio ricorso alla funzione group_concat() di mysql che non è sql standard. Mi potete consigliare una soluzione più "portabile"? Grazie ancora.
|