a sintaxe correta seria algo como: select status, data, count(*) qtd, sum(total) total from ( select status, data, 1 qtd, total from pedidos where status = 1
union all select status, data, 1 qtd, total from pedidos where status = 3 ) group by 1,2 order by 4 desc ----------------------------------------------------------- <º))))><.·´¯`·. <º))))><.·´¯`·. <º))))><.·´¯`·. Omar L. M. Rosa <º))))><.·´¯`·. <º))))><.·´¯`·. <º))))><.·´¯`·. [EMAIL PROTECTED] ----- Original Message ----- From: valdirdill To: delphi-br@yahoogrupos.com.br Sent: Wednesday, November 12, 2008 4:33 PM Subject: [delphi-br] SQL com Union - Ordem Inversa não Funciona Quero fazer uma consulta que apresente os maiores compradores. A SQL abaixo funciona certinho. Porém, quero que seja listado na ordem inversa, iniciando do maior TOTAL_VENDIDO e terminado no menor. Ao listar normal (iniciando no menor, funciona direitinho), mas se eu acrescentar um 'DESC' no ORDER BY, não faz efeito. Por gentileza, analise o SQL e me ajude com alguma dica. SELECT CLIENTES.CODIGO, CLIENTES.NOME AS NOME_CLIENTE, CAST(SUM(VENDAMESTRE.TOTALVENDA) AS FLOAT) AS TOTAL_VENDIDO FROM VENDAMESTRE INNER JOIN CLIENTES ON (VENDAMESTRE.CLIENTE=CLIENTES.CODIGO) GROUP BY 1, 2 UNION ALL SELECT CLIENTES.CODIGO, CLIENTES.NOME AS NOME_CLIENTE, CAST(SUM(SERVICOMESTRE.TOTALFINAL) AS FLOAT) AS TOTAL_VENDIDO FROM SERVICOMESTRE INNER JOIN CLIENTES ON (SERVICOMESTRE.CLIENTE=CLIENTES.CODIGO) GROUP BY 1, 2 ORDER BY 3 //tanto faz qual dessas duas linhas eu ORDER BY 3 DESC //colocar no SQL. Ambas darão a mesma ordem. Tá tudo certinho, o único problema é que, estranhamente o DESC não faz efeito no order By. Obrigado. [As partes desta mensagem que não continham texto foram removidas]