Meu código está retornando um erro:
Aqui está meu código:
SELECIONE "OINV"."DocNum" [Número da transação], "OINV"."DocDate", "OINV"."CardName", "INV1"."Dscription", "OINV"."CardCode", "OINV"."BPLName", "INV1"."LineTotal", "INV1"."GTotal", "OACT"."AcctCode", "OACT"."AcctName", "OINV"."LicTradNum", "OINV"."Pindicator", "INV1"."Itemcode" DE ("Banco de dados"."dbo"."OACT" "OACT" JUNÇÃO INTERNA "Banco de dados"."dbo"."INV1" "INV1" EM "OACT"."AcctCode"="INV1"."AcctCode") JUNÇÃO INTERNA "Banco de dados"."dbo"."OINV" "OINV" EM "INV1"."EntradaDoDocumento"="OINV"."EntradaDoDocumento"
UNIÃO
SELECIONE "OCSI"."DocNum"[Número da transação], "OCSI"."DocDate", "OCSI"."CardName", "CSI1"."Dscription", "OCSI"."CardCode", "OCSI"."BPLName", "CSI1"."LineTotal", "CSI1"."GTotal", "OACT"."AcctCode", "OACT"."AcctName", "OCSI"."LicTradNum", "OCSI"."Pindicator", "CSI1"."Itemcode" DE ("Banco de dados"."dbo"."OCSI" "OCSI" JUNÇÃO INTERNA "Banco de dados"."dbo"."CSI1" "CSI1" EM "OCSI"."DocEntry"="CSI1"."DocEntry") JUNÇÃO INTERNA "Banco de dados"."dbo"."OACT" "OACT" EM "CSI1"."AcctCode"="OACT"."AcctCode"
UNIÃO
SELECIONE "ORIN"."DocNum"[Número da transação], "ORIN"."DocDate", "ORIN"."CardName", "RIN1"."Dscription", "ORIN"."CardCode", "ORIN"."BPLName", "RIN1"."LineTotal"*-1, "RIN1"."GTotal", "OACT"."AcctCode", "OACT"."AcctName", "ORIN"."LicTradNum", "ORIN"."Pindicator", "RIN1"."Itemcode" DE ("Banco de dados"."dbo"."ORIN" "ORIN" JUNÇÃO INTERNA "Banco de dados"."dbo"."RIN1" "RIN1" EM "ORIN"."DocEntry"="RIN1"."DocEntry") JUNÇÃO INTERNA "Banco de dados"."dbo"."OACT" "OACT" EM "RIN1"."AcctCode"="OACT"."AcctCode"
UNIÃO DE TODOS
SELECIONE DISTINTO "_PM_BGT_CNT"."LineId", "_PM_BGT_CNT"."U_CardCode", "_PM_BGT_CNT"."U_Comments", "_PM_BGT_CNT"."U_ItemCode", "_PM_BGT_CNT"."U_M01Amnt", "_PM_BGT_CNT"."U_M02Amnt", "_PM_BGT_CNT"."U_M03Amnt", "_PM_BGT_CNT"."U_M04Amnt", "_PM_BGT_CNT"."U_M05Amnt", "_PM_BGT_CNT"."U_M06Amnt", "_PM_BGT_CNT"."U_M07Amnt ", "_PM_BGT_CNT"."U_M08Amnt", "_PM_BGT_CNT"."U_M09Amnt" DE "Banco de dados"."dbo"."@PM_BGT_CNT" "_PM_BGT_CNT" JUNÇÃO INTERNA "Banco de dados"."dbo"."OACT" "OACT" EM "_PM_BGT_CNT"."U_SalesAcc"="OACT"."AcctCode"
Minha pergunta é como descobrir onde está o erro no meu código. Não há número de linha ou algo que me diga de onde o erro está vindo.
Por favor me ajude, isso está me deixando louco!
Bons desejos,
Simão.
Como pode ser visto, há quatro ninhos de tabelas, então unidas entre si.
Os três primeiros ninhos funcionam bem juntos, mas é somente quando trago o quarto ninho que esse erro ocorre. O quarto ninho funciona bem sozinho, mas algo dá errado quando ele é vinculado aos outros.
As instruções UNION exigem que as colunas -- por suas posições -- em todas as instruções concordem em termos de tipo de dados. Localize qual coluna N na instrução 4 tem um tipo de dados diferente da coluna N nas instruções anteriores.
Além disso, tenha em mente que UNION remove duplicatas (o que é um processo lento) enquanto UNION ALL é muito mais rápido porque não remove duplicatas. Se você não precisa remover duplicatas, use UNION ALL.