Comado SQL na Aplicação Grid (banco Postgres)

Estou querendo criar uma aplicação de consulta com comando sql, meu problema está em transformar esses 3 comandos em um só para ser gerado no scriptcase.

segue os comandos:

01 - Juntando 2 tabelas:

SELECT fat_empresa, fat_vencimento, fat_valorbruto, lan_nome, lan_vencimento, lan_valorbruto
FROM faturamento, lancamentos
WHERE faturamento.fat_codigo=lancamentos.lan_codigo

02 - Junção ou distinção das empresas(1) e a totalização dos valores(1).

SELECT fat_empresa, SUM(fat_valorbruto) as “Geral”

FROM faturamento

GROUP BY fat_empresa

2.1 - Junção ou distinção das empresas(2) e a totalização dos valores(2).

SELECT lan_nome, SUM(lan_valorbruto) as “Geral”

FROM lancamentos

GROUP BY lan_nome

Obs.: quero juntar duas tabelas com os determinados campos citados acima, e distinguir as empresas que estão repetindo para ficarem somente um de cada representando e totalizando os valores conforme a junção das empresas. (os comandos acima funcionam, mas individualmente).

Use UNION

Apenas use este comando:
01 - Juntando 2 tabelas:

SELECT fat_empresa, fat_vencimento, fat_valorbruto, lan_nome, lan_vencimento, lan_valorbruto
FROM faturamento, lancamentos
WHERE faturamento.fat_codigo=lancamentos.lan_codigo

pode trocar o igual por INNER JOIN, ai depois que colar na consulta escolhe a opção ‘Quebra’, selecione:
fat_empresa.

E vá em totalização e marque os campos que vão gerar total valores.

Depois é só executar e ver a mágica.

Kleyber já utilizei o UNION, mas não funcionou!

Jailton realmente essa ideia é boa, mas infelizmente não resolveu totalmente minha situação, pois o campo lan_nome também são nomes de empresas no caso ele tem que fazer o mesmo com fat_empresa, quando coloco a quebra dos dois fica uma bagunça só, acho que daria certo se tivesse o comando sql mesmo ou alguma outra coisa sem complicação.

Você vai ter que criar uma terceira tabela tmp_faturamento, crie ela como MyISAM, coloque os campos:
Empresa, Vencimento, ValorBruto

Ai crie uma consulta nova que vai usar a tabela como padrão: tmp_faturamento

Sempre que entrar nesta consulta no Onvalidate ‘caso usar filtros’ ou onApplicationInit ‘se carregar direto a consulta’ limpe esta tabela:

// ZERA a TABELA tmp_faturamento
sc_exec_sql("
TRUNCATE TABLE tmp_faturamento
");

Depois leia esta dica como através do SQL popular com INSERT outra tabela.
http://www.devmedia.com.br/forum/inserir-dados-de-duas-tabelas/265405

SELECT (SELECT fat_empresa as “Faturamento”, SUM(fat_valorbruto) as “Total faturamento” FROM faturamento GROUP BY fat_empresa), (SELECT lan_nome as “Lançamento”, SUM(lan_valorbruto) as “Valor lançamento” FROM lancamentos GROUP BY lan_nome)

Use o comando INNER JOIN

assim: Select * from faturamento fat INNER JOIN lancamentos lan ON lan.idfaturamento = fat.idfaturamento

Exemplo 1 - simplesmente juntando as tabelas:

SELECT fat_codigo AS id_empresa,
fat_empresa AS snome_empresa,
fat_vencimento AS ddata_vencimento,
SUM(fat_valorbruto) AS nvalor_bruto
FROM faturamento
GROUP BY fat_codigo, fat_empresa, fat_vencimento

UNION ALL

SELECT lan_codigo AS id_empresa,
lan_nome AS snome_empresa,
lan_vencimento AS ddata_vencimento,
SUM(lan_valorbruto) AS nvalor_bruto
FROM lancamentos
GROUP BY lan_codigo, lan_nome, lan_vencimento

Exemplo 2 - acumulando empresas com o mesmo ID, NOME e VENCIMENTO:

SELECT id_empresa,
snome_empresa,
ddata_vencimento,
SUM(nvalor_bruto) AS nvalor_bruto_total
FROM
(
SELECT fat_codigo AS id_empresa,
fat_empresa AS snome_empresa,
fat_vencimento AS ddata_vencimento,
SUM(fat_valorbruto) AS nvalor_bruto
FROM faturamento
GROUP BY fat_codigo, fat_empresa, fat_vencimento

UNION ALL

SELECT lan_codigo AS id_empresa,
lan_nome AS snome_empresa,
lan_vencimento AS ddata_vencimento,
SUM(lan_valorbruto) AS nvalor_bruto
FROM lancamentos
GROUP BY lan_codigo, lan_nome, lan_vencimento
) AS consulta
GROUP BY id_empresa, snome_empresa, ddata_vencimento