Sintaxe incorreta próxima à palavra-chave 'WITH'. ( From tMSSQLConnection::GetQueryFile )
Thread ID [756] User [Felipe] IO [13] Tables [0] MaxTables [0] Comment [Protheus Analisador de Consulta] Status [] SP [ ] Traced [No] SQLReplay [No] InTran [No] DBEnv [MSSQL/TOP_V12_TQA] DBThread [(SPID 51,59)] Started [28/06/2018 13:23:03] LastIO [28/06/2018 13:26:03] IP [127.0.0.1:14001] RCV [4388] SND [3941] TCBuild [20161016-20170530]
SELECT WITH ESTRUT(CODIGO,COD_PAI,COD_COMP,QTD,PERDA,DT_INI,DT_FIM,NIVEL ) AS (SELECT G1_COD PAI,G1_COD,G1_COMP,G1_QUANT,G1_PERDA,G1_INI,G1_FIM,1 AS NIVEL FROM SG1190 SG1 WHERE SG1.D_E_L_E_T_ = ' ' AND G1_FILIAL = '01' UNION ALL SELECT CODIGO,G1_COD,G1_COMP,QTD * G1_QUANT,G1_PERDA,G1_INI,G1_FIM,NIVEL + 1 FROM SG1190 SG1 INNER JOIN ESTRUT EST ON G1_COD = COD_COMP WHERE SG1.D_E_L_E_T_ = ' ' AND SG1.G1_FILIAL = ' 01') SELECT CODIGO,SB1_A.B1_DESC AS DESCRI,SB1_A.B1_TIPO AS TIPO,SB1_A.B1_GRUPO AS GRUPO,SB1_A.B1_REF AS REFERENCIA,COD_PAI,SB1_B.B1_DESC AS DESC_PAI,SB1_B.B1_TIPO AS TIPO_PAI,SB1_B.B1_GRUPO AS GRUPO_PAI,COD_COMP,SB1_C.B1_DESC AS DESC_COMP,SB1_C.B1_TIPO AS TIPO_COMP,SB1_C.B1_GRUPO AS GRUPO_COMP,QTD,-- PERDA,SB1_C.B1_UM AS UM_COMP,--DT_INI,DT_FIM,NIVEL,(SELECT TOP 1 D1_VUNIT FROM SD1190 , SF4190 WHERE D1_COD = SB1_C.B1_COD AND D1_TES = F4_CODIGO AND D1_TIPO = 'N' AND SD1190.D_E_L_E_T_<>'*' AND SF4190.D_E_L_E_T_<>'*' AND F4_DUPLIC = 'S' ORDER BY D1_DTDIGIT DESC ) AS ULT_COMPRA FROM ESTRUT INNER JOIN SB1190 SB1_A ON SB1_A.D_E_L_E_T_ = ' ' AND SB1_A.B1_FILIAL = ' ' AND SB1_A.B1_COD = CODIGO AND (COLOCAR FILTRO DOS PARÂMETROS 1 A 4) INNER JOIN SB1190 SB1_B ON SB1_B.D_E_L_E_T_ = ' ' AND SB1_B.B1_FILIAL = ' ' AND SB1_B.B1_COD = COD_PAI INNER JOIN SB1190 SB1_C ON SB1_C.D_E_L_E_T_ = ' ' AND SB1_C.B1_FILIAL = ' ' AND SB1_C.B1_COD = COD_COMP AND SB1_C.B1_TIPO = 'MP'
Pergunta
Edelweis de Assis Felipe
Boa tarde,
Estou com um erro de sintaxe e gostaria da ajuda de vocês para resolver.
Tenho uma query que funciona normalmente no sql, mas quando rodo ela em um relatório em advpl me retorna o seguinte erro:
: Error : 156 (37000) (RC=-1) - [Microsoft][ODBC SQL Server Driver]
Thread ID [756] User [Felipe] IO [13] Tables [0] MaxTables [0] Comment [Protheus Analisador de Consulta] Status [] SP [ ] Traced [No] SQLReplay [No] InTran [No] DBEnv [MSSQL/TOP_V12_TQA] DBThread [(SPID 51,59)] Started [28/06/2018 13:23:03] LastIO [28/06/2018 13:26:03] IP [127.0.0.1:14001] RCV [4388] SND [3941] TCBuild [20161016-20170530]
SELECT WITH ESTRUT(CODIGO,COD_PAI,COD_COMP,QTD,PERDA,DT_INI,DT_FIM,NIVEL ) AS (SELECT G1_COD PAI,G1_COD,G1_COMP,G1_QUANT,G1_PERDA,G1_INI,G1_FIM,1 AS NIVEL FROM SG1190 SG1 WHERE SG1.D_E_L_E_T_ = ' ' AND G1_FILIAL = '01' UNION ALL SELECT CODIGO,G1_COD,G1_COMP,QTD * G1_QUANT,G1_PERDA,G1_INI,G1_FIM,NIVEL + 1 FROM SG1190 SG1 INNER JOIN ESTRUT EST ON G1_COD = COD_COMP WHERE SG1.D_E_L_E_T_ = ' ' AND SG1.G1_FILIAL = ' 01') SELECT CODIGO,SB1_A.B1_DESC AS DESCRI,SB1_A.B1_TIPO AS TIPO,SB1_A.B1_GRUPO AS GRUPO,SB1_A.B1_REF AS REFERENCIA,COD_PAI,SB1_B.B1_DESC AS DESC_PAI,SB1_B.B1_TIPO AS TIPO_PAI,SB1_B.B1_GRUPO AS GRUPO_PAI,COD_COMP,SB1_C.B1_DESC AS DESC_COMP,SB1_C.B1_TIPO AS TIPO_COMP,SB1_C.B1_GRUPO AS GRUPO_COMP,QTD,-- PERDA,SB1_C.B1_UM AS UM_COMP,--DT_INI,DT_FIM,NIVEL,(SELECT TOP 1 D1_VUNIT FROM SD1190 , SF4190 WHERE D1_COD = SB1_C.B1_COD AND D1_TES = F4_CODIGO AND D1_TIPO = 'N' AND SD1190.D_E_L_E_T_<>'*' AND SF4190.D_E_L_E_T_<>'*' AND F4_DUPLIC = 'S' ORDER BY D1_DTDIGIT DESC ) AS ULT_COMPRA FROM ESTRUT INNER JOIN SB1190 SB1_A ON SB1_A.D_E_L_E_T_ = ' ' AND SB1_A.B1_FILIAL = ' ' AND SB1_A.B1_COD = CODIGO AND (COLOCAR FILTRO DOS PARÂMETROS 1 A 4) INNER JOIN SB1190 SB1_B ON SB1_B.D_E_L_E_T_ = ' ' AND SB1_B.B1_FILIAL = ' ' AND SB1_B.B1_COD = COD_PAI INNER JOIN SB1190 SB1_C ON SB1_C.D_E_L_E_T_ = ' ' AND SB1_C.B1_FILIAL = ' ' AND SB1_C.B1_COD = COD_COMP AND SB1_C.B1_TIPO = 'MP'
Alguém pode me ajudar?
Grato,
Felipe
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.