BUG SQL

(Júlia Garbossa) #1

Pessoal, estou precisando montar um consulta com um SQL mais complexo que o SELECT * FROM tabela, e sempre que preciso o SC me deixa na mão.

Passo por variáveis 3 datas. (datax, dataini, datafin.)
Montei o seguinte SQL.

SELECT residencias.concod, tittficod,
COALESCE (CASE WHEN titdtb IS NULL OR titdtb > ‘[var_datax]’ THEN titori END , 0.00) AS vlr_aberto, 1 as porc_aberto,
COALESCE (CASE WHEN titdtb IS NOT NULL AND titdtb <= ‘[var_datax]’ THEN titvpg END , 0.00) AS vlr_fechado, 1 as porc_fechado
FROM titulos
LEFT JOIN entidades ON entidades.entcod = titulos.titentcod
LEFT JOIN residencias ON residencias.rescod = entidades.rescod
LEFT JOIN condominios ON condominios.concod = residencias.concod
WHERE ((titpro >= ‘[var_dataini]’ AND titpro <= ‘[var_datafin]’) OR (titdtb > ‘[var_datax]’) OR (titdtb IS NULL))

Dá o seguinte erro:
pg_query() [function.pg-query]: Query failed: ERRO: erro de sintaxe em ou próximo a “[” LINE 2: COALESCE (CASE WHEN titdtb IS NULL OR titdtb > [var_datax] T… ^ | Script: /var/www/scriptcase5/prod/third/adodb/drivers/adodb-postgres7.inc.php linha: 164

Alguém sabe como resolver isso?
Qual o problema? Já que quando executo a consulta, já passo o valor para variáveis as datas.
Precisava que o sc deixasse eu compilar com o SQL acima.

(akio) #2

Olá, se vc copiou exatamente igual à forma q foi colocado no sc, está faltando uma vírgula após o campo tittificod.

(Júlia Garbossa) #3

Não digitei errado aqui msm…rs
Vou corrigir agora.
Obrigada

Júlia

(Kleyber) #4

Verifique se o conteúdo de [var_datax] já contém as aspas ou coloque a consulta no SC em modo debug pra você ver como foi montada a query.

(Júlia Garbossa) #5

Olá!
Então realizei vários teste… o SC tá com Bug nisso.
Pois se fico mexendo no nome da variavel de [var_datax] para [VAR_DATA_X] ele roda.
Se faço alguma outra alteração em outro campo para teste. ele dá erro!!

Realmente irrita isso :confused:

Obrigada desde já a atenção…