× Linguagem de Programação ADVPL

Perguntas Query 2 Tabelas buscando Informações dos mv_par0?

Mais
9 anos 9 meses atrás #27262 por Rei_TI
Bom dia Pessoal

Gostaria de uma ajuda para montar uma Query.

Seguinte tenho duas tabelas que se relacionam pelo Código ZRB_COD = ZRA_COD

Tenho minhas perguntas do SX1:

putSx1(cPerg, "01", "Codigo De ?" , "", "", "mv_ch1", "C", tamSx3("ZRB_COD")[1] , 0, 0, "G", "", "ZRA2", "", "", "mv_par01")
putSx1(cPerg, "02", "Codigo Ate?" , "", "", "mv_ch2", "C", tamSx3("ZRB_COD")[1] , 0, 0, "G", "", "ZRA2", "", "", "mv_par02")
putSx1(cPerg, "03", "Saude?" , "", "", "mv_ch3", "C", tamSx3("ZRB_SAUDE")[1] , 0, 0, "C", "", "" , "", "", "mv_par03","Todas",,,,"Ruim",,,"Media",,,"Boa",,,,,,,,)


Monto minha query da seguinte maneira:


cQuery := "SELECT *"
cQuery += " FROM "+RETSQLNAME("ZRA")+" ZRA "
cQuery += " LEFT JOIN "+RETSQLNAME("ZRB")+" ZRB ON ZRB.D_E_L_E_T_='' AND ZRB_FILIAL='"+xFilial("ZRB")+"' AND ZRB_COD=ZRA_COD "
cQuery += " WHERE ZRA.D_E_L_E_T_=' ' "
cQuery += " AND ZRA_FILIAL='"+xFilial("ZRA")+"' "
cQuery += " AND ZRA_COD BETWEEN '"+mv_par01+"' AND '"+mv_par02+"'"
cQuery += " AND ZRB_SAUDE BETWEEN '"+CVALTOCHAR(mv_par03)+"'"
cQuery += " ORDER BY ZRA_COD,ZRB_COD,ZRB_ITEM "

//Se o alias estiver aberto, irei fechar, isso ajuda a evitar erros
IF Select("TRBNCM") <> 0
DbSelectArea("TRBNCM")
DbCloseArea()
ENDIF

//crio o novo alias
TCQUERY cQuery NEW ALIAS "TRBNCM" //linha 121 do meu codigo


Ao rodar apresenta o seguinte erro:

THREAD ERROR (Rei, REI-PC) 24/02/2015 09:51:28
: Error : 156 (37000) (RC=-1) - [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'ORDER'. ( From tMSSQLConnection::GetQueryFile )
Thread ID [6240] User [teste] IO [12915] Tables [5] MaxTables [5] Comment [SR_REL003 - TCPIP] Status [] SP [ ] Traced [No] InTran [No] DBEnv [MSSQL/TOTVS11] DBThread [(SPID: 52) ] Started [24/02/2015 09:51:14] LastIO [] IP [127.0.0.1:1234] RCV [105866] SND [490061] TCBuild [20131204]
SELECT * FROM ZRA990 ZRA LEFT JOIN ZRB990 ZRB ON ZRB.D_E_L_E_T_='' AND ZRB_FILIAL='01' AND ZRB_COD=ZRA_COD WHERE ZRA.D_E_L_E_T_=' ' AND ZRA_FILIAL='01' AND ZRA_COD BETWEEN '000001' AND '000010' AND ZRB_SAUDE BETWEEN '2' ORDER BY ZRA_COD,ZRB_COD,ZRB_ITEM on REPORTPRINT(TREPORT_2SECOESV2.PRW) 24/02/2015 09:44:13 line : 121


Sera que estou montando a Query da maneira correta?

Abracos.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 9 meses atrás - 9 anos 8 meses atrás #27264 por Rei_TI
Galera Resolvidoooo

Alterei a linha para ficar assim:

cQuery += " AND ZRB_SAUDE = '"+CVALTOCHAR(mv_par03)+"'"
Ultima edição: 9 anos 8 meses atrás por Rei_TI.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.110 segundos
Joomla templates by a4joomla