CONSULTA SQL

FUTURA 09/04/2007 15:02:35
#210843
preciso montar uma query que me traga 5 campos (codigo,qtde,valor,dta,nf) de uma tabela, mas preciso agrupar por grupo de codigo, montei uma, mas so consigo agrupar, se agrupar por todos os iten, preciso só por codigo.
CAIO.IN.DUST 09/04/2007 15:06:25
#210845
Fera, posta mais detalhes do banco, e posta a query que voce montou...


Ate mais
FUTURA 09/04/2007 15:09:12
#210846
sql = " select top 5 data,dtnf,doc,produto,codcor, sum(qtde) as wsqtde,sum (valor) as wsval from entradas "
sql = sql & " where produto = " & val(Mid(txtpro.Text, 1, 6)) & ""
sql = sql & " AND TIPO = 'E' "
'sql = sql & " order by dtnf desc "
sql = sql & " group by data,dtnf,doc,produto,codcor "
sql = sql & " order by dtnf desc "
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open sql, Cnn, adOpenForwardOnly, adLockReadOnly
If Not Rs.EOF Then
HUGOSSOUZA 09/04/2007 15:24:10
#210858
para fazer o agrupamento você tem que colocar todos os campos do select no group by, a não ser que esses campos tenham alguma função de agregação.
ex: sum(), max(), min(), avg
os campos com essas funções não precisam ir no group by.

ex:

select codigo, max(qtde), max(valor), max(dta), max(nf) from entradas group by codigo

o problema é que os campos dentro das funções não é necessariamente só de uma linha.

todo campo que esta no select e não tem nenhuma função tem que aparecer no "group by", mas nem todos os campos que tem no "group by" tem q estar no select

STRANDOW 10/04/2007 11:49:37
#210975
ola FUTURA
segundo o que vc precisa seria isso, que é ordenar por código né..

sql = " select"
sql = sql & " top 5 "
sql = sql & " data,"
sql = sql & " dtnf,"
sql = sql & " doc,"
sql = sql & " produto,"
sql = sql & " codcor,"
sql = sql & " sum(qtde) as wsqtde,"
sql = sql & " sum (valor) as wsval"
sql = sql & " from"
sql = sql & " entradas"
sql = sql & " where"
sql = sql & " produto = " & val(Mid(txtpro.Text, 1, 6)) & ""
sql = sql & " AND TIPO = 'E' "
sql = sql & " group by"
sql = sql & " data,"
sql = sql & " dtnf,"
sql = sql & " doc,"
sql = sql & " produto,"
sql = sql & " codcor"
sql = sql & " order by"
sql = sql & " codcor desc"


Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.Open sql, Cnn, adOpenForwardOnly, adLockReadOnly
If Not Rs.EOF Then


espero que o ajude...ok
Tópico encerrado , respostas não são mais permitidas