Lecio 0 Denunciar post Postado Outubro 15, 2008 Saudações, Estava precisando que o resultado de varias linhas fosse convertido para uma string. Ex.: SELECT Posicao FROM Tabela 5 4 31 45 12 Precisava de conter isso assim: 5,4,31,45,12 Comecei a fazer uma Funtion para resolver porem percebi que o LIMIT nao aceita variavel. Na linha que tem o LIMIT nao pode ter a variavel c, ai de nada adiantou. Alguem tem alguma ideia de como fazer isso funcionar? [ ],s CREATE DEFINER=`root`@`%` FUNCTION `f_retline`(pCod INT,pCampoChave CHAR(100),pCampoRet CHAR(100),pTabela CHAR(100)) RETURNS text BEGIN DECLARE x INT; DECLARE c INT; DECLARE ret TEXT; SET x=(SELECT COUNT(pCampoRet) FROM pTabela WHERE pCampoChave=pCod); SET c=0; WHILE (c<x) DO SET ret=ret + ',' + (SELECT pCampoRet FROM pTabela WHERE pCampoChave=pCod LIMIT c,1); SET c=c+1; END WHILE; RETURN ret; END Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Outubro 15, 2008 SELECT GROUP_CONCAT(Posicao) FROM Tabela Compartilhar este post Link para o post Compartilhar em outros sites
Lecio 0 Denunciar post Postado Outubro 16, 2008 Giesta, nosssa..... nao conhecia esta instrução !! Muuiiito obrigado, so tive de dar um cast pq ela nao trabalha com tipo numerico. SELECT GROUP_CONCAT(CAST(Pos AS CHAR)) FROM Cartao [ ] 's !!!!!!!!!!!!!!!!!!!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Outubro 17, 2008 CREATE DEFINER=`root`@`%` FUNCTION `f_retline`(pCod INT,pCampoChave CHAR(100),pCampoRet CHAR(100),pTabela CHAR(100)) RETURNS text BEGIN DECLARE x INT; DECLARE c INT; DECLARE ret TEXT; SET x=(SELECT COUNT(pCampoRet) FROM pTabela WHERE pCampoChave=pCod); SET c=0; WHILE (c<x) DO SET ret=ret + ',' + (SELECT pCampoRet FROM pTabela WHERE pCampoChave=pCod LIMIT c,1); SET c=c+1; END WHILE; RETURN ret; END <--- Bacalhau fedorento SELECT GROUP_CONCAT(Posicao) FROM Tabela <--- Absolut Vodka :D Compartilhar este post Link para o post Compartilhar em outros sites