GROUP BY NAO FUNCIONA
SELECT C.Nome_Cliente, M.Cod_Movimento, M.Data_Movimento, P.Nome_Produto, I.Quantidade, Q.Desc_Qualidade, L.Desc_Lote
FROM Tb_Movimento M
INNER JOIN Tb_Itens I
ON (M.Cod_Movimento = I.Cod_Movimento)
INNER JOIN Tb_Clientes C
ON (C.Cod_Cliente = M.Cod_Cliente)
INNER JOIN tb_Produtos P
ON (P.Cod_Produto = I.Cod_Produto)
INNER JOIN Tb_Qualidade Q
ON (I.Cod_Qualidade = Q.Cod_Qualidade)
INNER JOIN Tb_Lotes L
ON (L.Cod_Lote = I.COd_Lote)
WHERE M.Cod_TipoMovimento = 2
GROUP BY C.Nome_Cliente
DA A SEGUINTE MESGEM:
When Group by exists every simple field in projector must be in group by
FROM Tb_Movimento M
INNER JOIN Tb_Itens I
ON (M.Cod_Movimento = I.Cod_Movimento)
INNER JOIN Tb_Clientes C
ON (C.Cod_Cliente = M.Cod_Cliente)
INNER JOIN tb_Produtos P
ON (P.Cod_Produto = I.Cod_Produto)
INNER JOIN Tb_Qualidade Q
ON (I.Cod_Qualidade = Q.Cod_Qualidade)
INNER JOIN Tb_Lotes L
ON (L.Cod_Lote = I.COd_Lote)
WHERE M.Cod_TipoMovimento = 2
GROUP BY C.Nome_Cliente
DA A SEGUINTE MESGEM:
When Group by exists every simple field in projector must be in group by
Souzaaguiar
Curtidas 0
Respostas
Gilberto_lg
01/10/2008
Cara, acho q é o seguinte...
Você tem q usar funções para os outros campos que não estão no agrupamento, pois estes podem retornar mais de um valor.
ex.: MAX(M.Cod_Movimento)...ou então colocar no group by todos estes campos....
Você tem q usar funções para os outros campos que não estão no agrupamento, pois estes podem retornar mais de um valor.
ex.: MAX(M.Cod_Movimento)...ou então colocar no group by todos estes campos....
GOSTEI 0
Weber
01/10/2008
O group by não se faz necessário, utilize group by apenas quando existirem sum, count, avg, max ou min em seu select.
GOSTEI 0
Webjoel
01/10/2008
Olá!
Nossos amigo acima estão corretos, e só para completar, no seu caso que você precisa e deve fazer é usar o ´order by´ no lugar do ´group by´,
no caso:
Bons Selects!!!
Nossos amigo acima estão corretos, e só para completar, no seu caso que você precisa e deve fazer é usar o ´order by´ no lugar do ´group by´,
no caso:
SELECT C.Nome_Cliente, M.Cod_Movimento, M.Data_Movimento, P.Nome_Produto, I.Quantidade, Q.Desc_Qualidade, L.Desc_Lote FROM Tb_Movimento M INNER JOIN Tb_Itens I ON (M.Cod_Movimento = I.Cod_Movimento) INNER JOIN Tb_Clientes C ON (C.Cod_Cliente = M.Cod_Cliente) INNER JOIN tb_Produtos P ON (P.Cod_Produto = I.Cod_Produto) INNER JOIN Tb_Qualidade Q ON (I.Cod_Qualidade = Q.Cod_Qualidade) INNER JOIN Tb_Lotes L ON (L.Cod_Lote = I.COd_Lote) WHERE M.Cod_TipoMovimento = 2 ORDER BY C.Nome_Cliente /*ASC ou DESC - por padrão vem ASC*/
Bons Selects!!!
GOSTEI 0
Souzaaguiar
01/10/2008
Senhores, na verdade eu gostaria de exibir um relatorio da seguinte forma:
NOME DO CLIENTE:
[b:0c863b686c]Casas Bahia[/b:0c863b686c]
Cod_Movimento: 1
Data: 10/09/2008
Produto: Cravo
Quantidade: 1000
Qualidade: Bom
Lote: 01
Cod_Movimento: 5
Data: 01/10/2008
Produto: Cacau
Quantidade: 2000
Qualidade: Bom
Lote: 03
[b:0c863b686c]Lojas Americanas[/b:0c863b686c]
Cod_Movimento: 2
Data: 15/09/2008
Produto: Guarana
Quantidade: 5000
Qualidade: Bom
Lote: 05
Cod_Movimento: 5
Data: 01/10/2008
Produto: Cacau
Quantidade: 2000
Qualidade: Bom
Lote: 06
...
...
Gostaria de visualizar todas as Entradas de um determinado Cliente no meu relatório.
Estou usando o QuickRep e utilizando o componente QrGroup. Como devo proceder:?
NOME DO CLIENTE:
[b:0c863b686c]Casas Bahia[/b:0c863b686c]
Cod_Movimento: 1
Data: 10/09/2008
Produto: Cravo
Quantidade: 1000
Qualidade: Bom
Lote: 01
Cod_Movimento: 5
Data: 01/10/2008
Produto: Cacau
Quantidade: 2000
Qualidade: Bom
Lote: 03
[b:0c863b686c]Lojas Americanas[/b:0c863b686c]
Cod_Movimento: 2
Data: 15/09/2008
Produto: Guarana
Quantidade: 5000
Qualidade: Bom
Lote: 05
Cod_Movimento: 5
Data: 01/10/2008
Produto: Cacau
Quantidade: 2000
Qualidade: Bom
Lote: 06
...
...
Gostaria de visualizar todas as Entradas de um determinado Cliente no meu relatório.
Estou usando o QuickRep e utilizando o componente QrGroup. Como devo proceder:?
GOSTEI 0
Emerson Nascimento
01/10/2008
SELECT C.Nome_Cliente, M.Cod_Movimento, M.Data_Movimento, P.Nome_Produto, I.Quantidade, Q.Desc_Qualidade, L.Desc_Lote
FROM Tb_Movimento M
INNER JOIN Tb_Itens I
ON (M.Cod_Movimento = I.Cod_Movimento)
INNER JOIN Tb_Clientes C
ON (C.Cod_Cliente = M.Cod_Cliente)
INNER JOIN tb_Produtos P
ON (P.Cod_Produto = I.Cod_Produto)
INNER JOIN Tb_Qualidade Q
ON (I.Cod_Qualidade = Q.Cod_Qualidade)
INNER JOIN Tb_Lotes L
ON (L.Cod_Lote = I.COd_Lote)
WHERE C.Nome_Cliente = ´CASAS BAHIA´
ou
WHERE C.Cod_Cliente = X
FROM Tb_Movimento M
INNER JOIN Tb_Itens I
ON (M.Cod_Movimento = I.Cod_Movimento)
INNER JOIN Tb_Clientes C
ON (C.Cod_Cliente = M.Cod_Cliente)
INNER JOIN tb_Produtos P
ON (P.Cod_Produto = I.Cod_Produto)
INNER JOIN Tb_Qualidade Q
ON (I.Cod_Qualidade = Q.Cod_Qualidade)
INNER JOIN Tb_Lotes L
ON (L.Cod_Lote = I.COd_Lote)
WHERE C.Nome_Cliente = ´CASAS BAHIA´
ou
WHERE C.Cod_Cliente = X
GOSTEI 0