Como utilizar Cláusula quot;PLANquot; ?

Firebird

07/10/2003

Olá,

Preciso de ajuda para executar um sql: ´Select sum(t1.a), sum(t1.b) from t1, t2 where t1.cod = t2.cod´ onde ao final do ´where´ necessito adicionar a clausula ´Plan´ contendo um index.


Pericles

Pericles

Curtidas 0

Respostas

Afarias

Afarias

07/10/2003

nesse seu SQL não me parece haver necessidade em usar o PLAN, mas seria algo como::

select sum(t1.a), sum(t1.b) from t1 inner join t2 on (t1.cod = t2.cod)
PLAN JOIN (T1 NATURAL, T2 INDEX IX_COD)

veja o IB SQL Help no comando SELECT


T+


GOSTEI 0
Pericles

Pericles

07/10/2003

A.Farias,

Obrigado pela resposta, porém não consegui executar mesmo assim,
é possível vc analisar meu sql?
Qdo. executo via IBConsole (InterBase6) este sql gera a seguinte msg:
´Dynamic SQL Error
SQL error code = -104
Token unknown - line 12, char 39
IDX_FC0002_CONTA_DATA
Statement: SELECT ....´

SELECT
SUM(FC0002.VLR_MOVTO) AS Saldo,
SUM(FC0002.VLR_MOVTO) AS SaldoOriginal
FROM FC0002 INNER JOIN FC0003 ON (FC0002.CIA = FC0003.CIA AND
FC0002.FILIAL = FC0003.FILIAL AND
FC0002.COD_LANCTO = FC0003.COD_LANCTO)
WHERE FC0003.TP_LANCTO IN (´N´,´L´)
AND FC0002.CIA = 1
AND FC0002.FILIAL = 1
AND FC0002.COD_CONTA = 1
AND FC0002.DT_LANCTO < ´10/07/2003´ /*MM/DD/YYYY*/
PLAN JOIN (FC0003 NATURAL, FC0002 INDEX IDX_FC0002_CONTA_DATA)

/* Onde meu index IDX_FC0002_CONTA_DATA é o seguinte:
INDEX IDX_FC0002_CONTA_DATA ON FC0002 (CIA, FILIAL, COD_CONTA, DT_LANCTO) */

Desde já agradeço.


GOSTEI 0
POSTAR