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

Como Usar O Inner Join E O Group By


C@rimbeiro

Pergunta

Eu to fazendo isso:

___

CMD.CommandText ="SELECT clientes.id,clientes.empresa,debito.valor FROM clientes INNER JOIN debito on clientes.id = debito.idcliente GROUP BY clientes.id,clientes.empresa,debito.valor"

______

Tipo assim, eu queria pegar todos os clientes que tiverem débitos.

Até consegui, só que me retorna o nome do cliente a mesma quantidade de vezes que os débitos que ele possui.

tentei usar o GROUP BY, mais acho que to fazendo errado, acho não, tenho certeza, senão funcionaria ....

ALGUÉM ME AJUDA!!!!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

cara

quando isso acontece e porque tem algum registrro diferente desses que você está selecionando

pod olhar que tem algo diferente no resultado

concerteza e esse valor debito

porque os debitos não deve ser iguais

testei um SQL aqui e funfo certim

você está usando da maneira correta

mas se todos os dados tiverem

iguais vai funcionar

valws

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, to com um problema, até já postei aqui, mais ainda não consegui resolve-lo.

Só que meu problema não esta sendo no inner join, mais sim no GROUP BY.

<%

set CMD=Server.CreateObject("ADODB.COMMAND")

CMD.ActiveConnection= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../DB/banco.MDB")

CMD.CommandText ="SELECT clientes.id,clientes.empresa,debito.valor FROM clientes INNER JOIN debito ON clientes.id = debito.idcliente GROUP BY clientes.id,clientes.empresa,debito.valor"

set rsclientes = CMD.Execute

%>

Esse é o unico jeito que não me retorna erro, já tentei de tudo, e se eu tiro do GROUP BY o debito.valor, não funciona.

"Tipo de erro:

Microsoft JET Database Engine (0x80040E21)

Você tentou executar uma consulta que não inclui a expressão 'valor' especificada como parte de uma função agregada.

/pagina/arquivos/debitos.asp, line 6"

Link para o comentário
Compartilhar em outros sites

  • 0

C@rimbeiro, você não vai conseguir fazer um GROUP BY com valores diferentes ou seja

debito.valor = 52,20

debito.valor = 63,23

não tem jeito de agrupar dados diferentes,

desse jeito abaixo deve dar certo


CMD.CommandText ="SELECT clientes.id,clientes.empresa FROM clientes INNER JOIN debito ON clientes.id = debito.idcliente GROUP BY clientes.id,clientes.empresa"

falou..abraçao

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Thiago Barros

Olá pessoal, também estou com o mesmo problema do C@ribeno, tenho o seguinte SELECT

SELECT DISTINCT

KPIs.IDKPI, KPIs.Nome, Valores.Data, Valores.Valor

FROM

KPIs

INNER JOIN

Valores

ON

KPIs.IDKPI = Valores.IDKPI

WHERE

KPIs.IDGrupo = 4

AND

Valores.IDCaracteristica = 5

Só que tenho que agrupar para trazer somente os registros diferente, se eu uso o Group By aí eu tenho que tirar o "Valores.Valor e o KPIs.IDKPI". só que eu preciso trazer os campos: "ID, NOME,DATA e VALOR" do registro.... Existe alguma maneira? Agradeço desde já a atenção

Link para o comentário
Compartilhar em outros sites

  • 0

uma gambiarra para ajudar

sql="select * from KPIs where IDGrupo=4" ' aqui poderia entrar o group
set rs=conn.execute(sql)

if not rs.eof then

sql="select * from Valores where IDCaracteristica=5 and IDKPI="&rs("IDKPI") ' aqui poderia entrar o group
set rs2=conn.execute(sql)

if not rs2.eof then

while not rs2.eof

response.write rs("nome")&" - "&rs2("data")&" - "&rs2("valor")&"<br>"

rs2.movenext
wend

end if
rs2.close
set rs2=nothing

rs.movenext
wend

end if
rs.close
set rs=nothing

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...