CONSULTA COM SELECT COMPLEXO APRESENTA PROBLEMAS

(Haroldo) #1

DESENVOLVI UMA CONSULTA, COM QUEBRAS, E DIVERSAS CONFIGURAÇÕES, DEPOIS DE PRONTA E RODANDO, FUI ACRESCENTAR UMA COLUNA A MAIS NO SELECT E APÓS SALVAR PERDI TODAS AS QUEBRAS, CAMPOS SELECIONADOS NA CONSULTA, SOLICITEI UM SUPORTE A NETMAKE QUE FIZERAM TESTES LA E AFIRMARAM ESTAR TUDO NORMAL COM A APLICAÇÃO DO TIPO CONSULTA, SIMULEI O PROBLEMA VÁRIAS VEZES, INCLUSIVE INSTALEI O SC3 EM OUTRA MÁQUINA E SIMULEI O PROBLEMA, E O MESMO OCORREU, DAÍ DSCONFIO, QUE COM SELECTS COM FUNÇÕES EM SUA ESTRUTURA, O SC3 SE PERDE, SEGUE O SELECT EM QUESTÃO:

SELECT
SUBSTRING_INDEX(Codigo, ‘.’,1) as ger,
SUBSTRING_INDEX(Codigo, ‘.’, 2) as sup,
CONCAT(
SUBSTRING_INDEX(Codigo, ‘.’, 2),
‘.’,
RIGHT(
CONCAT(
‘0000’,
SUBSTRING_INDEX(Codigo, ‘.’, -1))
,4)
) as codvend,
IF((SUBSTRING_INDEX(Codigo, ‘.’, 2)=Codigo) OR (SUBSTRING_INDEX(Codigo, ‘.’,1)=Codigo),CONCAT("*",Nome),Nome) AS nomevend,
id,
Codigo,
Nome
FROM
vendedor
WHERE
[sqlwhere] Nome<>’’ and Situacao<>“I”
ORDER BY
nomevend

ESTOU POSTANDO AQUI APENAS PARA DOCUMENTAÇÃO, POIS ALGUÉM PODE PASSAR PELO MESMO PROBLEMA, TIVE QUE NOTIFICAR A NETMAKE, DOCUMENTANDO DETALHADAMENTE CADA PASSO, PARA FAZE-LOS ENTENDER O QUE OCORRE.

(snarkhx) #2

Sugestão,
verifique as aspas (todas) no código gerado,
o ScriptCase não é muito bom para lidar com elas.

(Haroldo) #3

O código roda normalmente, não uso aspas dupla, só simples. O Yuri da Netmake, avaliou e desconfia que o problema esta nos aliases, foi reportado ao Depto de Desenvolvimento, vamos aguardar a solução.

(Eduardo Alves) #4

Isso ja foi resolvido? Tive um problema parecido ao testar esse sc_lookup:

sc_lookup(DSMOTOR, SELECT (SUBSTRING_INDEX(adm_clientes.NomeCliente," ",1)) AS nome FROM adm_clientes INNER JOIN adm_os
ON (adm_clientes.ClienteId = adm_os.id_motorista) WHERE (adm_os.id = ‘148’));

no SQL esse select está OK… no SC4 entrei no codigo fonte e ele dá erro na linha

$_SESSION[‘scriptcase’][‘sc_sql_ult_comando’] = $nm_select; (que é justamente o resultado do select acima)

Alguem ja testou usar o SUBSTRING_INDEX no sc_lookup?

(Haroldo) #5

no seu código o select esta sem o delimitador de constantes: aspas.
Não é isso?

(Eduardo Alves) #6

Troquei por aspas simples e parece que agora passou…estou verificando o resultado, se der certo eu posto de volta… Um abraço irmão…

(Eduardo Alves) #7

agora deu …justamente era as " "…troquei por ’ ’ e funcionou…

(Kleyber) #8

Eu também passei por isso… veja: http://www.netmake.com.br/forum/index.php?topic=2115.0