Usuário com melhor resposta
Melhor forma de visualisar varias consultas datasource

Pergunta
-
Ola!
Estou com um pouco de dificuldade em montar uma consulta que retorne varias selects de uma tabela de um banco MYSQL. Em uma unica tabela, preciso fazer varios Counts e retornar as consultas em uma unica tabala. Estou a algum tempo pensando em uma forma pratica de fazer isso e não tá sainda nada...
Queria saber se alguem tem alguma dica de como retornar em uma tabela ou gridview o resultados de varios select count.
Abçs
Respostas
-
Após muito pesquisar sobre subquery, consegui resolver.
o ST ficou assim.
Select distinct localidade,
(SELECT count(localidade) FROM consolidado_hc where (localidade='Vila Velha') )as Total,
(SELECT count(localidade) FROM consolidado_hc where ((localidade='Vila Velha') and (CLT='sim'))) as CLT
from consolidado_hc where (localidade='vila velha')union all
Select distinct localidade,
(SELECT count(localidade) FROM consolidado_hc where (localidade='goiania') )as Total,
(SELECT count(localidade) FROM consolidado_hc where ((localidade='goiania') and (CLT='sim'))) as CLT
from consolidado_hc
where (localidade='goiania');- Marcado como Resposta Frank Thadeu quinta-feira, 11 de agosto de 2011 19:32
Todas as Respostas
-
da uma olhada no exemplo de subquery:
http://forums.devshed.com/postgresql-help-21/sql-subquery-count-distinct--any-sql-gurus-245388.html
se noa solucionar, voce pode trazer os valores em varios datatable ( em um Dataset) e contruir um objeto que herde de IEnumerable ( List(of T) ) ou um Datatable e popular um controle DataSource
Caio Vitullo -
Desculpe pela demora em responder. Estive envolvido em outro projeto.
Bom! vamos lá!
Utilizei o Subquery, sendo que os resultados estam retornando em colunas ou em tabelas diferentes. Preciso que retorne em linha.
Segue exemplo da subquery que esta retornando em colunas
DELIMITER $$
DROP PROCEDURE IF EXISTS `consolidado` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `consolidado`()
BEGINSelect
(SELECT count(localidade) FROM tb_importa_empregado) as BCC,
(SELECT count(localidade) FROM tb_importa_empregado where(localidade='goiania')) as GNA ,
(SELECT count(localidade) FROM tb_importa_empregado where(localidade='juiz de fora')) as JFA ,
(SELECT count(localidade) FROM tb_importa_empregado where(localidade='macae')) as MCE,
(SELECT count(localidade) FROM tb_importa_empregado where(localidade='ribeirão preto')) as RPO,
(SELECT count(localidade) FROM tb_importa_empregado where(localidade='rio de janeiro')) as SEDE,
(SELECT count(localidade) FROM tb_importa_empregado where(localidade='rio de janeiro cas RJ')) as RJO_CAS,
(SELECT count(localidade) FROM tb_importa_empregado where(localidade='vila velha')) as VVA;END $$
DELIMITER ;
Como eu posso fazer para retornar estes valores em linha ?
-
Após muito pesquisar sobre subquery, consegui resolver.
o ST ficou assim.
Select distinct localidade,
(SELECT count(localidade) FROM consolidado_hc where (localidade='Vila Velha') )as Total,
(SELECT count(localidade) FROM consolidado_hc where ((localidade='Vila Velha') and (CLT='sim'))) as CLT
from consolidado_hc where (localidade='vila velha')union all
Select distinct localidade,
(SELECT count(localidade) FROM consolidado_hc where (localidade='goiania') )as Total,
(SELECT count(localidade) FROM consolidado_hc where ((localidade='goiania') and (CLT='sim'))) as CLT
from consolidado_hc
where (localidade='goiania');- Marcado como Resposta Frank Thadeu quinta-feira, 11 de agosto de 2011 19:32
-
Ola!
O exemplo que você utilizou é muito bom, porém se quiser um pouco mais de performance e organização você poderá utilizar function. Assim a regra da subquery fica em uma função.
Exemplo:
Select distinct localidade,
fnc_total_localidade('goiania') as total
fnc_total_localidade_clt('goiania', 'sim') as clt
from consolidado_hc
where (localidade='goiania');
Stephany Henrique de Almeida Batista -
-
Mysql não é a minha praia.
Mas sempre que dou manutenção nesse banco passo por este site.
http://www.databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htm
Espero ter ajudado.
Stephany Henrique de Almeida Batista