Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

stview

Tem como reduzir para 1 select?

Recommended Posts

Eu ja tentei de tudo, ja pesquisei,mas nao consigo ...

 

Tem como agilizar estes 2 selects para 1 só?

CREATE TABLE `enquete` (  `IDEnq` int(3) unsigned NOT NULL auto_increment,  `Pergunta` varchar(150) NOT NULL,  `Status` set('0','1') NOT NULL default '0',  PRIMARY KEY  (`IDEnq`)) ENGINE=InnoDB;INSERT INTO `enquete` (IDEnq, Pergunta, Status) VALUES (7, 'Qual a cor do cavalo branco de Napoleão?', '1');CREATE TABLE `enquete_sub` (  `IDSub` int(3) unsigned NOT NULL auto_increment,  `IDEnq` int(3) unsigned NOT NULL,  `Resposta` varchar(50) NOT NULL,  `Hits` mediumint(5) unsigned NOT NULL default '0',  PRIMARY KEY  (`IDSub`),  KEY `ids` (`IDEnq`,`IDSub`),  KEY `ide` (`IDEnq`),  FOREIGN KEY (`IDEnq`) REFERENCES `enquete` (`IDEnq`) ON DELETE CASCADE) ENGINE=InnoDB;INSERT INTO `enquete_sub` (IDSub, IDEnq, Resposta, Hits) VALUES (12, 7, 'Cinza', 10);INSERT INTO `enquete_sub` (IDSub, IDEnq, Resposta, Hits) VALUES (13, 7, 'Verde', 24);INSERT INTO `enquete_sub` (IDSub, IDEnq, Resposta, Hits) VALUES (14, 7, 'Branco', 8);INSERT INTO `enquete_sub` (IDSub, IDEnq, Resposta, Hits) VALUES (15, 7, 'Rosa Choque', 6);INSERT INTO `enquete_sub` (IDSub, IDEnq, Resposta, Hits) VALUES (16, 7, 'Púrpura', 0);INSERT INTO `enquete_sub` (IDSub, IDEnq, Resposta, Hits) VALUES (17, 7, 'Fosco', 1);$sql	= "SELECT SUM(enquete_sub.Hits) AS TOTAL FROM enquete_sub WHERE IDEnq='$_GET[id]'";$res	= @mysql_query($sql);$row	= @mysql_fetch_array($res);$TOTAL	= $row["TOTAL"];$sql = "SELECT e.*, s.* FROM enquete_sub s JOIN enquete e ON e.IDEnq=s.IDEnq 		WHERE e.IDEnq='$_GET[id]' 		ORDER BY s.Resposta";$res = @mysql_query($sql);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

SELECT e.*,	   s.*,	   SUM(enquete_sub.Hits) AS TOTALFROM enquete_sub s	INNER JOIN enquete e	ON e.IDEnq = s.IDEnqWHERE s.IDEnq = '$_GET[id]'GROUP BY s.IDEnqORDER BY s.Resposta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim, mas ele me retorna um resultado apenas ...Fui mudando o Group, numa das vezes ele me deu todos os resultados mas o total era o hits do ultimo registro ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.