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
Pergunta
D.Wirti
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:
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.
Editado por D.WirtiLink para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.