Ir para conteúdo
Fórum Script Brasil
  • 0

ordenar tabela por variável vinda de SELECT


GALLO

Pergunta

Olá pessoal! O meu problema é o seguinte: tenho uma tabela com vendedores e outra onde são inseridos itens vendidos.

Pois bem, a tabela dos itens recebe o id do vendedor quando ele cadastra a venda.

Tipo:

TABELA Vendas

ID | id_vend | Qtd | Item

1 | V12 | 3 | Sapato

2 | V3 | 5 | Bolsa

Tabela Vendedores

ID | Nome

V3 | Maria

V12 | João

Quero mostrar um relatório dos itens mas por ORDEM ALFABÉTICA DOS NOMES..

Eu faço o SELECT da tabela vendas mas não tem como eu ordenar porque os nomes estão na outra tabela (vendedores).

Não ta adiantando usar o ORDER BY ASC por isso...

Alguém me ajuda??

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Opa!

Então, não entendi direito: você quer um relatório dos itens mas por ordem alfabética dos nomes DOS VENDEDORES ou você quer simplesmente listar os produtos vendidos, mas aparecer neste relatório, em vez do código do vendedor, o NOME dele?

O SQL abaixo seleciona o ID da venda, o nome do vendedor, a quantidade da venda e o item da venda:

SELECT V.id, Vend.nome, V.qtd, V.item FROM Vendas V JOIN Vendedores Vend ON Vend.id = V.id_vend;

Vê se isso aí te ajuda...

Editado por Vithor
Link para o comentário
Compartilhar em outros sites

  • 0

Certo... Isso aí já funciona, a única modificação que você teria que fazer seria adicionar um ORDER BY, pra ordenar pelo nome do vendedor. O SQL ficaria assim:

SELECT V.id, Vend.nome, V.qtd, V.item FROM Vendas V JOIN Vendedores Vend ON Vend.id = V.id_vend ORDER BY Vend.nome;

Link para o comentário
Compartilhar em outros sites

  • 0

Não deu certo..

O código que estou usando é este aqui

$sql_lista = "SELECT a.id_cartela, a.id_vend_loja, a.id_cli, a.qtd_selos, a.qtd_normal, a.qtd_promocional, a.qtd_campanha, a.qtd_verde, a.total, a.banco,b.id_vend_loja FROM cartela a JOIN vend_loja b ON a.data_cad >= '".$data_ini."' AND a.data_cad <= '".$data_fim."' AND a.acesso = 1 ORDER BY b.vendedora ASC";

Onde cartela é a tabela de vendas e vend_loja são os vendedores.. note que a pessoa digita o período.. essa é a única comparação que ele faz.. na verdade eu quero somente que ele retorne a tabela de vendas nesse período, mas em ordem alfabética.. pois dando um select normal ele retorna na ordem que foram inserindo lá..

Link para o comentário
Compartilhar em outros sites

  • 0

Tente isso:

$sql_lista = "SELECT C.id_cartela, C.id_vend_loja, C.id_cli, C.qtd_selos, C.qtd_normal, C.qtd_promocional, C.qtd_campanha, C.qtd_verde, C.total, C.banco, V.id_vend_loja FROM cartela C JOIN vend_loja V ON C.id_vend_loja = V.id_vend_loja WHERE C.data_cad >='".$data_ini."' AND C.data_cad <= '".$data_fim."' AND C.acesso = 1 ORDER BY V.nome_vendedor";

Cara, na parte onde está escrito: [...] JOIN vend_loja V ON C.id_vend_loja = V.id_vend_loja [...] você deve substituir o C.id_vend_loja e o V.id_vend_loja pelo campo que é comum às duas tabelas, ou seja, o campo que é a foreign key e liga as duas tabelas, já que ele vai fazer com que os registros sejam filtrados para todos os vendedores que estão cadastrados na tabela de vendas, ou seja, que fizeram alguma venda.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...