QUERY SQLSERVER
Bom dia
Na query abaixo preciso que uma nota que foi devolvida nao entre no relatorio porem nao estou conseguindo fazer isso. Alguem consegue me ajudar o campo que faz o vinculo com a tabela de notas fiscais é View_SIS_FatNotaDevolucao.Objidnotadevolvida.
SELECT
NOTASFISCAIS.OBJID AS OBJIDNOTA,
NOTASFISCAIS.CODSACADO,
NOTASFISCAIS.NomeSacado,
NOTASFISCAIS.SERIENOTA,
NOTASFISCAIS.CODEMPRESA,
NotasFiscais.CGC AS CNPJ,
NOTASFISCAIS.NUMNOTA,
NOTASFISCAIS.NFeNumNota,
NotasFiscais.Trans_Nome,
NOTASFISCAIS.NUMPEDIDO,
NotasFiscais.UF,
NOTASFISCAIS.CODCLIENTE,
NOTASFISCAIS.NOMECLIENTE,
Crm_Clientes.Nome,
Crm_Clientes.RazaoSocial,
NOTASFISCAIS.DATAEMISSAO,
ItemNota.CFOP,
NOTASFISCAIS.VALORTOTALNOTA,
NOTASFISCAIS.SITUACAO,
NOTASFISCAIS.INSCEST,
CASE NOTASFISCAIS.SITUACAO
WHEN 'N' THEN 'Nota Fiscal'
WHEN 'P' THEN 'Pedido'
WHEN 'I' THEN 'Inutilizada'
WHEN 'C' THEN 'Cancelada'
ELSE 'Vazio'
END as SitDescri,
NOTASFISCAIS.CONDPAGTO,
NOTASFISCAIS.COMPLEMENTOCONDPAGTO,
NOTASFISCAIS.VALTOTALICMS,
NOTASFISCAIS.VALTOTALIPI,
NOTASFISCAIS.VALTOTALISS,
NotasFiscais.ValPesoBru,
NOTASFISCAIS.VENDEDOR,
NOTASFISCAIS.COMENTARIO,
NOTASFISCAIS.MOTIVOCANCELNF,
IsNull(NOTASFISCAIS.FlagReutiliza,'N') FlagReutiliza,
VENDEDORES.NOME AS NOMEVENDEDOR,
NOTASFISCAIS.TipoNota,
ITEMNOTA.CODMATERIAL,
ITEMNOTA.TEXTO,
ITEMNOTA.QUANTIDADE,
ITEMNOTA.UNIDADE,
ITEMNOTA.VALORTOTAL,
ITEMNOTA.ValorUnitario,
(ITEMNOTA.VALORTOTAL + ITEMNOTA.VALORIPI_INT) VALORITEMBRUTO,
(ITEMNOTA.VALORTOTAL -ITEMNOTA.DESCONTO) VALORITEMLIQUIDO,
ITEMNOTA.DESCONTO,
ITEMNOTA.FATURA,
ITEMNOTA.REMESSA,
ITEMNOTA.DEVOLUCAO,
ITEMNOTA.NUMORDEM,
ITEMNOTA.ALIQUOTAICMS,
ITEMNOTA.AliquotaIPI,
ITEMNOTA.VALORISS_INT ISSITEM,
ITEMNOTA.CODIGODISPOSITIVO,
ISNULL (DISPOSITIVOS.DESCRICAO , '') DISPOSITIVO,
Empresas.NomeEmpresa,
ITEMNOTA.COMPLEMENTO,
ITEMNOTA.ValorICMS_INT
FROM NOTASFISCAIS
LEFT JOIN ITEMNOTA ON (NOTASFISCAIS.OBJID = ITEMNOTA.OBJID_NOTA)
LEFT JOIN DISPOSITIVOS ON (ITEMNOTA.CODIGODISPOSITIVO = DISPOSITIVOS.CODIGO )
LEFT JOIN VENDEDORES ON (VENDEDORES.CODVENDEDOR = NOTASFISCAIS.VENDEDOR)
LEFT JOIN EMPRESAS ON (Empresas.CodEmpresa = NotasFiscais.CodEmpresa)
LEFT JOIN Crm_Clientes ON (NOTASFISCAIS.codcliente = Crm_Clientes.CodCliente)
Essa é a tabela onde ficam as notas devolvidas.
View_SIS_FatNotaDevolucao.Objidnotadevolvida = obijd.notasfisciais
Na query abaixo preciso que uma nota que foi devolvida nao entre no relatorio porem nao estou conseguindo fazer isso. Alguem consegue me ajudar o campo que faz o vinculo com a tabela de notas fiscais é View_SIS_FatNotaDevolucao.Objidnotadevolvida.
SELECT
NOTASFISCAIS.OBJID AS OBJIDNOTA,
NOTASFISCAIS.CODSACADO,
NOTASFISCAIS.NomeSacado,
NOTASFISCAIS.SERIENOTA,
NOTASFISCAIS.CODEMPRESA,
NotasFiscais.CGC AS CNPJ,
NOTASFISCAIS.NUMNOTA,
NOTASFISCAIS.NFeNumNota,
NotasFiscais.Trans_Nome,
NOTASFISCAIS.NUMPEDIDO,
NotasFiscais.UF,
NOTASFISCAIS.CODCLIENTE,
NOTASFISCAIS.NOMECLIENTE,
Crm_Clientes.Nome,
Crm_Clientes.RazaoSocial,
NOTASFISCAIS.DATAEMISSAO,
ItemNota.CFOP,
NOTASFISCAIS.VALORTOTALNOTA,
NOTASFISCAIS.SITUACAO,
NOTASFISCAIS.INSCEST,
CASE NOTASFISCAIS.SITUACAO
WHEN 'N' THEN 'Nota Fiscal'
WHEN 'P' THEN 'Pedido'
WHEN 'I' THEN 'Inutilizada'
WHEN 'C' THEN 'Cancelada'
ELSE 'Vazio'
END as SitDescri,
NOTASFISCAIS.CONDPAGTO,
NOTASFISCAIS.COMPLEMENTOCONDPAGTO,
NOTASFISCAIS.VALTOTALICMS,
NOTASFISCAIS.VALTOTALIPI,
NOTASFISCAIS.VALTOTALISS,
NotasFiscais.ValPesoBru,
NOTASFISCAIS.VENDEDOR,
NOTASFISCAIS.COMENTARIO,
NOTASFISCAIS.MOTIVOCANCELNF,
IsNull(NOTASFISCAIS.FlagReutiliza,'N') FlagReutiliza,
VENDEDORES.NOME AS NOMEVENDEDOR,
NOTASFISCAIS.TipoNota,
ITEMNOTA.CODMATERIAL,
ITEMNOTA.TEXTO,
ITEMNOTA.QUANTIDADE,
ITEMNOTA.UNIDADE,
ITEMNOTA.VALORTOTAL,
ITEMNOTA.ValorUnitario,
(ITEMNOTA.VALORTOTAL + ITEMNOTA.VALORIPI_INT) VALORITEMBRUTO,
(ITEMNOTA.VALORTOTAL -ITEMNOTA.DESCONTO) VALORITEMLIQUIDO,
ITEMNOTA.DESCONTO,
ITEMNOTA.FATURA,
ITEMNOTA.REMESSA,
ITEMNOTA.DEVOLUCAO,
ITEMNOTA.NUMORDEM,
ITEMNOTA.ALIQUOTAICMS,
ITEMNOTA.AliquotaIPI,
ITEMNOTA.VALORISS_INT ISSITEM,
ITEMNOTA.CODIGODISPOSITIVO,
ISNULL (DISPOSITIVOS.DESCRICAO , '') DISPOSITIVO,
Empresas.NomeEmpresa,
ITEMNOTA.COMPLEMENTO,
ITEMNOTA.ValorICMS_INT
FROM NOTASFISCAIS
LEFT JOIN ITEMNOTA ON (NOTASFISCAIS.OBJID = ITEMNOTA.OBJID_NOTA)
LEFT JOIN DISPOSITIVOS ON (ITEMNOTA.CODIGODISPOSITIVO = DISPOSITIVOS.CODIGO )
LEFT JOIN VENDEDORES ON (VENDEDORES.CODVENDEDOR = NOTASFISCAIS.VENDEDOR)
LEFT JOIN EMPRESAS ON (Empresas.CodEmpresa = NotasFiscais.CodEmpresa)
LEFT JOIN Crm_Clientes ON (NOTASFISCAIS.codcliente = Crm_Clientes.CodCliente)
Essa é a tabela onde ficam as notas devolvidas.
View_SIS_FatNotaDevolucao.Objidnotadevolvida = obijd.notasfisciais
Enock Junior
Curtidas 0
Melhor post
Emerson Nascimento
16/08/2021
tente assim:
SELECT NF.OBJID AS OBJIDNOTA, NF.CODSACADO, NF.NomeSacado, NF.SERIENOTA, NF.CODEMPRESA, NF.CGC AS CNPJ, NF.NUMNOTA, NF.NFeNumNota, NF.Trans_Nome, NF.NUMPEDIDO, NF.UF, NF.CODCLIENTE, NF.NOMECLIENTE, CLI.Nome, CLI.RazaoSocial, NF.DATAEMISSAO, ITNF.CFOP, NF.VALORTOTALNOTA, NF.SITUACAO, NF.INSCEST, CASE NF.SITUACAO WHEN 'N' THEN 'Nota Fiscal' WHEN 'P' THEN 'Pedido' WHEN 'I' THEN 'Inutilizada' WHEN 'C' THEN 'Cancelada' ELSE 'Vazio' END as SitDescri, NF.CONDPAGTO, NF.COMPLEMENTOCONDPAGTO, NF.VALTOTALICMS, NF.VALTOTALIPI, NF.VALTOTALISS, NF.ValPesoBru, NF.VENDEDOR, NF.COMENTARIO, NF.MOTIVOCANCELNF, IsNull(NF.FlagReutiliza,'N') FlagReutiliza, VEN.NOME AS NOMEVENDEDOR, NF.TipoNota, ITNF.CODMATERIAL, ITNF.TEXTO, ITNF.QUANTIDADE, ITNF.UNIDADE, ITNF.VALORTOTAL, ITNF.ValorUnitario, (ITNF.VALORTOTAL + ITNF.VALORIPI_INT) VALORITEMBRUTO, (ITNF.VALORTOTAL -ITNF.DESCONTO) VALORITEMLIQUIDO, ITNF.DESCONTO, ITNF.FATURA, ITNF.REMESSA, ITNF.DEVOLUCAO, ITNF.NUMORDEM, ITNF.ALIQUOTAICMS, ITNF.AliquotaIPI, ITNF.VALORISS_INT ISSITEM, ITNF.CODIGODISPOSITIVO, ISNULL(DIS.DESCRICAO , '') DISPOSITIVO, EMP.NomeEmpresa, ITNF.COMPLEMENTO, ITNF.ValorICMS_INT FROM NOTASFISCAIS NF LEFT JOIN ITEMNOTA ITNF ON (ITNF.OBJID_NOTA = NF.OBJID) LEFT JOIN DISPOSITIVOS DIS ON (DIS.CODIGO = ITNF.CODIGODISPOSITIVO) LEFT JOIN VENDEDORES VEN ON (VEN.CODVENDEDOR = NF.VENDEDOR) LEFT JOIN EMPRESAS EMP ON (EMP.CodEmpresa = NF.CodEmpresa) LEFT JOIN Crm_Clientes CLI ON (CLI.CodCliente = NF.codcliente) WHERE NOT EXISTS(SELECT VNFD.Objidnotadevolvida FROM View_SIS_FatNotaDevolucao VNFD WHERE VNFD.Objidnotadevolvida = NF.OBJID)
GOSTEI 1
Mais Respostas
Enock Junior
16/08/2021
tente assim:
SELECT NF.OBJID AS OBJIDNOTA, NF.CODSACADO, NF.NomeSacado, NF.SERIENOTA, NF.CODEMPRESA, NF.CGC AS CNPJ, NF.NUMNOTA, NF.NFeNumNota, NF.Trans_Nome, NF.NUMPEDIDO, NF.UF, NF.CODCLIENTE, NF.NOMECLIENTE, CLI.Nome, CLI.RazaoSocial, NF.DATAEMISSAO, ITNF.CFOP, NF.VALORTOTALNOTA, NF.SITUACAO, NF.INSCEST, CASE NF.SITUACAO WHEN 'N' THEN 'Nota Fiscal' WHEN 'P' THEN 'Pedido' WHEN 'I' THEN 'Inutilizada' WHEN 'C' THEN 'Cancelada' ELSE 'Vazio' END as SitDescri, NF.CONDPAGTO, NF.COMPLEMENTOCONDPAGTO, NF.VALTOTALICMS, NF.VALTOTALIPI, NF.VALTOTALISS, NF.ValPesoBru, NF.VENDEDOR, NF.COMENTARIO, NF.MOTIVOCANCELNF, IsNull(NF.FlagReutiliza,'N') FlagReutiliza, VEN.NOME AS NOMEVENDEDOR, NF.TipoNota, ITNF.CODMATERIAL, ITNF.TEXTO, ITNF.QUANTIDADE, ITNF.UNIDADE, ITNF.VALORTOTAL, ITNF.ValorUnitario, (ITNF.VALORTOTAL + ITNF.VALORIPI_INT) VALORITEMBRUTO, (ITNF.VALORTOTAL -ITNF.DESCONTO) VALORITEMLIQUIDO, ITNF.DESCONTO, ITNF.FATURA, ITNF.REMESSA, ITNF.DEVOLUCAO, ITNF.NUMORDEM, ITNF.ALIQUOTAICMS, ITNF.AliquotaIPI, ITNF.VALORISS_INT ISSITEM, ITNF.CODIGODISPOSITIVO, ISNULL(DIS.DESCRICAO , '') DISPOSITIVO, EMP.NomeEmpresa, ITNF.COMPLEMENTO, ITNF.ValorICMS_INT FROM NOTASFISCAIS NF LEFT JOIN ITEMNOTA ITNF ON (ITNF.OBJID_NOTA = NF.OBJID) LEFT JOIN DISPOSITIVOS DIS ON (DIS.CODIGO = ITNF.CODIGODISPOSITIVO) LEFT JOIN VENDEDORES VEN ON (VEN.CODVENDEDOR = NF.VENDEDOR) LEFT JOIN EMPRESAS EMP ON (EMP.CodEmpresa = NF.CodEmpresa) LEFT JOIN Crm_Clientes CLI ON (CLI.CodCliente = NF.codcliente) WHERE NOT EXISTS(SELECT VNFD.Objidnotadevolvida FROM View_SIS_FatNotaDevolucao VNFD WHERE VNFD.Objidnotadevolvida = NF.OBJID)
GOSTEI 0
Enock Junior
16/08/2021
tente assim:
SELECT NF.OBJID AS OBJIDNOTA, NF.CODSACADO, NF.NomeSacado, NF.SERIENOTA, NF.CODEMPRESA, NF.CGC AS CNPJ, NF.NUMNOTA, NF.NFeNumNota, NF.Trans_Nome, NF.NUMPEDIDO, NF.UF, NF.CODCLIENTE, NF.NOMECLIENTE, CLI.Nome, CLI.RazaoSocial, NF.DATAEMISSAO, ITNF.CFOP, NF.VALORTOTALNOTA, NF.SITUACAO, NF.INSCEST, CASE NF.SITUACAO WHEN 'N' THEN 'Nota Fiscal' WHEN 'P' THEN 'Pedido' WHEN 'I' THEN 'Inutilizada' WHEN 'C' THEN 'Cancelada' ELSE 'Vazio' END as SitDescri, NF.CONDPAGTO, NF.COMPLEMENTOCONDPAGTO, NF.VALTOTALICMS, NF.VALTOTALIPI, NF.VALTOTALISS, NF.ValPesoBru, NF.VENDEDOR, NF.COMENTARIO, NF.MOTIVOCANCELNF, IsNull(NF.FlagReutiliza,'N') FlagReutiliza, VEN.NOME AS NOMEVENDEDOR, NF.TipoNota, ITNF.CODMATERIAL, ITNF.TEXTO, ITNF.QUANTIDADE, ITNF.UNIDADE, ITNF.VALORTOTAL, ITNF.ValorUnitario, (ITNF.VALORTOTAL + ITNF.VALORIPI_INT) VALORITEMBRUTO, (ITNF.VALORTOTAL -ITNF.DESCONTO) VALORITEMLIQUIDO, ITNF.DESCONTO, ITNF.FATURA, ITNF.REMESSA, ITNF.DEVOLUCAO, ITNF.NUMORDEM, ITNF.ALIQUOTAICMS, ITNF.AliquotaIPI, ITNF.VALORISS_INT ISSITEM, ITNF.CODIGODISPOSITIVO, ISNULL(DIS.DESCRICAO , '') DISPOSITIVO, EMP.NomeEmpresa, ITNF.COMPLEMENTO, ITNF.ValorICMS_INT FROM NOTASFISCAIS NF LEFT JOIN ITEMNOTA ITNF ON (ITNF.OBJID_NOTA = NF.OBJID) LEFT JOIN DISPOSITIVOS DIS ON (DIS.CODIGO = ITNF.CODIGODISPOSITIVO) LEFT JOIN VENDEDORES VEN ON (VEN.CODVENDEDOR = NF.VENDEDOR) LEFT JOIN EMPRESAS EMP ON (EMP.CodEmpresa = NF.CodEmpresa) LEFT JOIN Crm_Clientes CLI ON (CLI.CodCliente = NF.codcliente) WHERE NOT EXISTS(SELECT VNFD.Objidnotadevolvida FROM View_SIS_FatNotaDevolucao VNFD WHERE VNFD.Objidnotadevolvida = NF.OBJID)
Emerson, Boa tarde
Muito Obrigado pela ajuda funcionou.
GOSTEI 0