Fórum Migrar de Access pra Interbase? #50876

04/05/2005

0

Venho através deste fórum tentar solucionar este problema:
tenho esta SQl feita em access e pretendo passar para o SQL do Interbase mas ele simplesmente dá erro em alguns comandos como o transform e o pivot. Deixa eu explicar o que essa consulta retorna:
- nas linhas ficam as agências agrupadas e nas colunas ficam os produtos e seus respectivos somatórios....
Por favor me ajudem pois já estou ficando maluco em tentar achar uma solução para esse problema......

TRANSFORM Sum(PROPOSTA.PREMIO) AS SomaDePREMIO
SELECT AGENCIA.NOME
FROM PRODUTO INNER JOIN (AGENCIA INNER JOIN PROPOSTA ON AGENCIA.CODAGENCIA = PROPOSTA.CODAGENCIA) ON PRODUTO.CODIGOPRODUTO = PROPOSTA.CODPRODUTO
GROUP BY AGENCIA.NOME
PIVOT PRODUTO.NOMEPLANO;


Eduardo Cocite

Eduardo Cocite

Responder

Posts

04/05/2005

Gandalf.nho

Esse comando SQL não existe no IB/FB, vc pode tentar montar uma SP ou usar o comando CASE para tentar algo semelhante. Veja esses tópicos [url]http://forum.clubedelphi.net/viewtopic.php?t=57867[/url]
[url]http://forum.clubedelphi.net/viewtopic.php?t=59236[/url]


Responder

Gostei + 0

05/05/2005

Eduardo Cocite

mas agora estou com outro problema, preciso informar um intervalo de datas para mostrar somente os somatórios que estiverem neste intervalo de datas.......

em relação ao caso anterior funcionou direito......


Responder

Gostei + 0

05/05/2005

Gandalf.nho

É só botar uma cláusula WHERE informando o intervalo de datas, ex:

WHERE campo_data BETWEEN :data1 AND :data2


Responder

Gostei + 0

05/05/2005

Eduardo Cocite

Tenho esta query que faz o seguinte:
- Ela agrupa os produtos pelos seus devidos premios......
O que se encontra abaixo está na QryPesquisa, não consegui colocar no delphi através do QryPesquisa.SQL.add(´......´); dá erro na parte do mensal pois diz que naum é string........

SELECT AGENCIA.NOME,
SUM(PROPOSTA.PREMIO * UDF_POS(´MENSAL´, TIPO)) AS Mensal,
SUM(PROPOSTA.PREMIO * UDF_POS(´ANUAL´, TIPO)) AS ANUAL,
SUM(PROPOSTA.PREMIO * UDF_POS(´INDIVIDUAL´, TIPO)) AS INDIVIDUAL,
SUM(PROPOSTA.PREMIO * UDF_POS(´SPG´, TIPO)) AS SPG,
SUM(PROPOSTA.PREMIO * UDF_POS(´EMPRESARIAL´, TIPO)) AS EMPRESARIAL,
SUM(PROPOSTA.PREMIO * UDF_POS(´CONSORCIO´, TIPO)) AS CONSORCIO,
Sum(PROPOSTA.PREMIO) AS TOTALGERAL
FROM PRODUTO1 INNER JOIN (AGENCIA INNER JOIN PROPOSTA ON AGENCIA.CODAGENCIA = PROPOSTA.CODAGENCIA) ON PRODUTO1.CODIGOPRODUTO = PROPOSTA.CODPRODUTO
GROUP BY AGENCIA.NOME

Tenho esta query que faz o seguinte:
- Executa uma pesquisa por datas....
Esta Query se chama QryData e está digitada no Delphi

Inicio := DateToStr(DataI.Date);
Final := DateToStr(DataF.Date);
QryData.Close;
QryData.SQL.Clear;
QryData.SQL.add(´ select proposta.dataccb ´);
QryData.SQL.add(´ from proposta ´);
QryData.SQL.add(´ where ´);
QryData.SQL.add(´Dataccb >= :pInicial´);
QryData.SQL.add(´and ´);
QryData.SQL.add(´dataccb <= :pFinal order by proposta.dataccb´);
QryData.ParamByName(´pInicial´).AsDateTime := StrToDate(Inicio);
QryData.ParamByName(´pFinal´).AsDateTime := StrToDate(Final);

O meu problema é o seguinte preciso fazer uma query ou unir as querys pois tenho que agrupar por agencia e seus respectivos premios e fazer esse agrupamento por entre datas.....
Estou literalmente tomando um couro para tentar fazer isso....

Se alguém puder me ajudar agradeço e muito........


Responder

Gostei + 0

26/10/2012

Emerson Pereira

boa noite de uma olhada na ferramenta desse site [url]www.fullcopyconvert.com.br[/url]
Responder

Gostei + 0

26/10/2012

Deivison Melo

Pesquise por Interbase DataPump
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar