Ir para conteúdo
Fórum Script Brasil

D.Wirti

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que D.Wirti postou

  1. Então fulvio, testei esse código que você postou mas o resultado continuou o mesmo. Nesse meio tempo decidi deixar a preguiça de lado e padronizar a minha tabela, dessa forma criei uma tabela separada chamada Segmento, referenciando uma chave estrangeira na tabela DadosEmpresa. Como eu já tenho nesse mesmo padrão uma tabela separada chamada Cidade, ao invés de eu continuar usando o nome da cidade passei a usar o código da cidade. Para melhor entendimento segue abaixo o meu novo código: SELECT S.DESC_SEG, COUNT(E.Codigo_Empresa) AS TOTAL FROM Segmento S LEFT JOIN DadosEmpresa E ON S.COD_SEG = E.COD_SEG AND E.Cidade = 1 --Código referente ao nome da cidade GROUP BY S.DESC_SEG Dessa forma eu obtenho o resultado como eu gostaria. O único porém é que eu tenho que fazer uma consulta diferente para cada Cidade. Mas isso eu resolvo via programação no Delphi mesmo. Muito obrigado pela prestatividade em responder e apresentar soluções fulvio. Pode fechar o tópico como resolvido.
  2. Bom dia fulvio, obrigado por responder. Pois então, era o que eu imaginava. Mas o problema aqui é que devido a padronização de algumas tabelas excel + a codificação POG em Delphi usado para importar tais tabelas, eu não tenho como deixar isso em tabelas separadas. Será que não existe outra solução para isso?
  3. Bom tarde, Espero que alguém consiga resolver minha dúvida. Preciso fazer uma consulta que me retorne os valores de determinado campo para outro campo. Ex: Possuo uma tabela de Cidades e uma tabela de dados relativos a empresas. Nessa tabela empresa possuo uma coluna chamada Segmento e outra coluna que referencia o código da cidade. Quero que a consulta me retorne a comparação de duas cidades. Codifiquei o seguinte: SELECT dbo.Cidades.Descricao, COUNT(Segmento) AS Cont, Segmento FROM dbo.DadosEmpresa INNER JOIN dbo.Cidades ON dbo.DadosEmpresa.Cidade = dbo.Cidades.Codigo WHERE Cidades.Descricao = 'CIDADE A' OR Cidades.Descricao = 'CIDADE B' GROUP BY dbo.DadosEmpresa.Segmento, dbo.Cidades.Descricao ORDER BY Descricao, Segmento O resultado dessa consulta é: Descricao ................... Cont ................. Segmento ----------------------------- ---------------------- -------- CIDADE A .................... 3 .................... Agropecuária CIDADE A .................... 369 .................. Comércio CIDADE A .................... 15 ................... Indústria CIDADE A .................... 57 ................... Serviço CIDADE B .................... 1 .................... Agropecuária CIDADE B .................... 196 .................. Comércio CIDADE B .................... 43 ................... Serviço Mas o resultado que eu gostaria de obter seria: Descricao ................... Cont ................. Segmento ----------------------------- ---------------------- -------- CIDADE A .................... 3 .................... Agropecuária CIDADE A .................... 369 .................. Comércio CIDADE A .................... 15 ................... Indústria CIDADE A .................... 57 ................... Serviço CIDADE B .................... 1 .................... Agropecuária CIDADE B .................... 196 .................. Comércio CIDADE B .................... 0 .................... Indústria CIDADE B .................... 43 ................... Serviço Como pode-se perceber, no primeiro caso como a CIDADE B não possui dados referentes ao Segmento Indústria, a consulta não me retorna nada. Mas eu gostaria de visualizar isso, especificando que a CIDADE B possui 0 empresas cadastradas no Segmento Indústria. Eu tentei usar uma variação do código acima, usando RIGHT JOIN e ISNULL((Segmento),0) mas o resultado obtido foi o mesmo. Estou utilizando Windows 7 Enterprise x86 e SQL Server Management Studio 2008 que acessa um Servidor SQL Server 2008. Espero que tenha conseguido passar o que eu gostaria. Desde já grato.
×
×
  • Criar Novo...