Olá pessoal,
Estou com um problema na consulta abaixo, onde basicamente quero recuperar TODAS as faturas de AR, tanto do tipo de Serviço quanto do tipo de Item, e realizar alguns cálculos com elas.
Quando executo conforme abaixo, ele não considera o tipo de fatura de AR de Serviço.
Quando altero INNER (em vermelho abaixo) para LEFT JOIN e removo todo o argumento CASE em vermelho => O tipo de fatura de AR de Serviço aparece!
Quando altero INNER (em vermelho abaixo) para LEFT JOIN e mantenho o argumento CASE em vermelho => Recebo o erro "convertendo tipo de dados varchar para numérico".
Tão frustrante! Espero que possam ajudar!
SELECIONE 'ELL' como 'Banco de Dados',
'Fatura de AR' COMO 'tipo',
T0.[DOCTYPE],
CASO QUANDO T0.[DOCTYPE] = 'S' ENTÃO T0.[PROJECT] ELSE CAST ( T3.[U_CORBrand] AS nvarchar) END AS 'MARCA',
CASO QUANDO T0.[DOCTYPE] = 'S' ENTÃO ' ' ELSE CAST ( T8.[ItmsGrpNam] AS nvarchar) END AS 'Grupo de Item',
CASO QUANDO T0.[DOCTYPE] = 'S' ENTÃO ' ' ELSE CAST ( T3.[U_CORAccessory] AS nvarchar) END AS 'Acessório',
T1.[ItemCode],
CASO QUANDO T0.[DOCTYPE] = 'S' ENTÃO 0 ELSE CAST ( (T1.[Quantity] * T3.[SalFactor1]) AS decimal) END AS 'PackQty' ,
CASO QUANDO T0.[DOCCUR] = 'HKD' ENTÃO T1.[LINETOTAL] ELSE CAST (T1.[TotalFrgn]AS NVARCHAR) END as 'TotalFrgn',
CASO
QUANDO T0.[DOCTYPE] = 'S' ENTÃO ' '
QUANDO T3.[U_CORBrand] = 'PK' ENTÃO
T1.[TotalSumSy]*((SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '609999' E ACCOUNT <'613999' E PROJECT ='PK')/(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002' E PROJECT = 'PK'))+T1.[TotalSumSy]*(((SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '609999' E ACCOUNT <'613999' E PROJECT ='CENTRAL')*(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002' E PROJECT = 'PK')/(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002'))/(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002' E PROJECT = 'PK'))
QUANDO T3.[U_CORBrand] = 'KC' ENTÃO
T1.[TotalSumSy]*((SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '609999' E ACCOUNT <'613999' E PROJECT ='K&C')/(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002' E PROJECT = 'K&C'))+T1.[TotalSumSy]*(((SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '609999' E ACCOUNT <'613999' E PROJECT ='CENTRAL')*(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002' E PROJECT = 'K&C')/(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002'))/(SELECIONE SUM( SYSCRED-SYSDEB) FROM LIVE_ELL.DBO.JDT1 WHERE ACCOUNT > '699999' E ACCOUNT < '700002' E