joaquim Posted February 21, 2020 at 01:53 PM Report Share #617411 Posted February 21, 2020 at 01:53 PM Bom dia pessoal. Será que alguém poderia me ajudar a respeito de uma tabela mysql? è o seguinte: tenho uma tabela voto, nela contem as colunas: id,voto1, voto2,voto3 e resultado. Gostaria que o select somasse os votos e se a maioria fosse "Sim" a coluna resultado teria o valor "Sim" se não o resultado teria valor "Não". Desde já agradeço Link to comment Share on other sites More sharing options...
Cerzedelo Posted February 21, 2020 at 03:37 PM Report Share #617413 Posted February 21, 2020 at 03:37 PM 1 hora atrás, joaquim disse: Bom dia pessoal. Será que alguém poderia me ajudar a respeito de uma tabela mysql? è o seguinte: tenho uma tabela voto, nela contem as colunas: id,voto1, voto2,voto3 e resultado. Gostaria que o select somasse os votos e se a maioria fosse "Sim" a coluna resultado teria o valor "Sim" se não o resultado teria valor "Não". Desde já agradeço Talvez se possa utilizar o SELECT Count(nome do coluna a contar). Depois é só comparar se a soma dos sim for maior que os do não , o resultado seria sim e vice-versa 1 Report Link to comment Share on other sites More sharing options...
antseq Posted February 21, 2020 at 04:52 PM Report Share #617414 Posted February 21, 2020 at 04:52 PM 2 horas atrás, joaquim disse: Bom dia pessoal. Será que alguém poderia me ajudar a respeito de uma tabela mysql? è o seguinte: tenho uma tabela voto, nela contem as colunas: id,voto1, voto2,voto3 e resultado. Gostaria que o select somasse os votos e se a maioria fosse "Sim" a coluna resultado teria o valor "Sim" se não o resultado teria valor "Não". Desde já agradeço Não tenho um MySql (só um MS SQLServer) a mão e assumindo campos em "texto" (algo que não faria), poderia ser algo assim: (pode ser que consigas tirar ideias para o MySql) IF OBJECT_ID('tempdb..#VOTOS') IS NOT NULL DROP TABLE #VOTOS; GO CREATE TABLE #VOTOS( Id INT IDENTITY(1,1), voto1 NVARCHAR(3), voto2 NVARCHAR(3), voto3 NVARCHAR(3) ); GO INSERT INTO #VOTOS (voto1, voto2, voto3) VALUES ('sim', 'sim', 'sim'), ('sim', 'sim', 'nao'), ('sim', 'nao', 'nao'), ('sim', 'nao', 'sim'), ('sim', 'sim', 'nao'), ('nao', 'nao', 'nao') GO SELECT CASE WHEN SV1=0 THEN 'nim' WHEN SV1>0 THEN 'sim' ELSE 'nao' END As R1, CASE WHEN SV2=0 THEN 'nim' WHEN SV2>0 THEN 'sim' ELSE 'nao' END As R2, CASE WHEN SV3=0 THEN 'nim' WHEN SV3>0 THEN 'sim' ELSE 'nao' END As R3 FROM ( SELECT SUM(CASE WHEN voto1='sim' THEN 1 ELSE -1 END) AS SV1, SUM(CASE WHEN voto2='sim' THEN 1 ELSE -1 END) AS SV2, SUM(CASE WHEN voto3='sim' THEN 1 ELSE -1 END) AS SV3 FROM #VOTOS ) AS SVOTOS RESULTADO: R1 R2 R3 sim nim nao cps, Link to comment Share on other sites More sharing options...
joaquim Posted February 22, 2020 at 04:16 PM Author Report Share #617416 Posted February 22, 2020 at 04:16 PM blz pessoal, consegui através da dica do Cerzedelo. Grato a todos. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now