none
Melhor forma de visualisar varias consultas datasource RRS feed

  • 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 

    domingo, 31 de julho de 2011 22:47

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
    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
    segunda-feira, 1 de agosto de 2011 17:17
  • 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`()
    BEGIN

    Select
    (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 ? 

    terça-feira, 9 de agosto de 2011 12:55
  • 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
    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
    quinta-feira, 11 de agosto de 2011 21:40
  • Beleza! Vc tem um exemplo de como montar esta function ?
    sexta-feira, 12 de agosto de 2011 00:09
  • 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
    sexta-feira, 12 de agosto de 2011 01:38