Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

playnet

Ajuda numa consulta SQL

Recommended Posts

Boa tarde!

 

Gostaria de uma ajuda para finalizar uma consulta SQL, vou utilizar um exemplo fictício para descrever o que preciso.

 

SELECT tbCidades.nome as Cidade, tbFiliais.nome as Filial, tbProdutos.nome as NomeProduto

FROM cidades tbCidades, filiais tbFiliais, produtos tbProdutos, vendas tbVendas 

WHERE tbFiliais.idCidade=tbCidades.idCidade and tbProdutos.idFilial=tbFilial.idFilial and tbProdutos.idProduto=tbVendas.idProduto

and tbCidades.nome='Rio de Janeiro' and tbFiliais.nome='Copacabana'  and tbVendas.data='15/11/2017'

GROUP BY Cidade, Filial, NomeProduto

 

O que preciso: 

4ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tbVendas.formapgto 'C' (cartão de crédito)  Nome da Coluna seria: VendasCartao

5ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tb.Vendas.formapgto 'D' (dinheiro)                 Nome da Coluna seria: VendasDinheiro

6ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto independente da formapgto ou que tb.Vendas.formapgto in ('C', 'D')   Nome da Coluna seria: VendasTotal

 

Resultado Esperado:

 

Cidade                    Filial               NomeProduto       VendasCartao     VendasDinheiro      VendasTotal

Rio de Janeiro  Copacabana    Cadeira de Praia                4                               2                            6

Rio de Janeiro  Copacabana    Barraca de Praia                3                               0                            3

Rio de Janeiro  Copacabana    Mesa Plastico                    8                               6                            14

 

Já tentei usar de tudo... subqueries com select+count(tbVendas.idVenda), função, etc... e nada. Sempre pega na questão do group by.

 

Alguma sugestão?

 

Obrigado,

Alex

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por janir.matheus
      Boa tarde, peço ajuda dos membros desse fórum pois confesso estar completamente perdido.
      Tomando como base o diagrama (em anexo), preciso de uma query que retorne as empresas, seus produtos e as categorias de cada produto, sendo que cada produto pode pertencer a uma ou mais categorias.
       
      select tbl_produtos.Empresa, tbl_empresas.Nome, tbl_catprod.Categoria, tbl_classproduto.Classe, tbl_produtos.Id, tbl_produtos.Produto from tbl_produtos inner join tbl_empresas on tbl_produtos.Empresa = tbl_empresas.Id left join tbl_catprod on tbl_produtos.Id = tbl_catprod.Categoria left join tbl_classproduto on tbl_catprod.Categoria = tbl_classproduto.Id; Tentei a consulta mostrada acima mas o resultado não foi o que eu esperava.
      Agradeço antecipadamente pela ajuda.

    • Por FabianoSouza
      Pessoal, por que essa query com COLLATE  não funciona?
      declare @strPesquisa varchar(30) SET @strPesquisa = 'naicle' SET @sql = 'SELECT ' SET @sql = @sql + 'ML.nome ' SET @sql = @sql + 'FROM ' SET @sql = @sql + 'dbo.minhaTab AS ML ' SET @sql = @sql + ' WHERE ' SET @sql = @sql + ' nome LIKE ' SET @sql = @sql + '''%' + @strPesquisa COLLATE Latin1_General_CI_AI + '%''' EXEC (@sql) Não acusa erro ao rodar.
      Mas não traz os registro porque está gravado como "naiclê" (com acento), o que significa que não está aplicando a COLLATE.
       
      Montando essa mesma query mas da forma tradicional, o COLLATE funciona.
       
      SELECT ML.nome FROM dbo.minhaTab AS ML WHERE nome LIKE '%'+ @strPesquisa COLLATE Latin1_General_CI_AI+'%'  
       
    • Por peterstefan
      Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0,  mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
      preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0 
       
      SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';  
    • Por TeixeiraRamos
      Olá pessoal,
      Por favor, tem que ser feita alguma mudança no código depois que se muda para a versão Wampserver64?
      Estou tentando abrir as minhas páginas e mostra erro. Um exemplo:
       
       
      No exemplo a linha 62:
      $result = $PDO->query($sql); No phpMyAdmin fiz o teste com a sql é funcionou corretamente.
       
      Obrigado
       
       
       
    • Por william_droops
      Olá, tenho uma tabela com esta estrutura

      Quero montar uma Query que dê este resultado. 

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.