none
CONSULTA SQL RRS feed

  • Pergunta

  • Bom dia. 

    estou com uma dúvida a respeito de uma consulta SQL. 

    Estou relacionando 3 tabelas Nota fiscal (nfsaidacad), itens da nota fiscal (itnfsaicad) e clientes (clientecad).

    Eu preciso saber se foi emitido nota fiscal com o mesmo codigo de produto e com o CPF do cliente. Qual é a melhor solução?

    eu desenvolvi esse script inicial:

    select nf.numnota, nf.dtemis, it.codpro, c.CGC


    from NFSAIDACAD nf inner join
         ITNFSAICAD it on it.numord = nf.numord inner join
         CLIENTECAD c on c.OID = nf.codclie
         
    where nf.filial = '23'
    and nf.dtemis > '20120401'
    and nf.tpo = '20111'
    and nf.dtcancel is null
    order by c.CGC

    Obrigado!

    sexta-feira, 14 de dezembro de 2012 10:55

Respostas

  • Boa noite,

    Quais colunas essa consulta deverá retornar? Acho que depende muito de quais colunas serão necessárias.

    Segue uma sugestão inicial:

    select 
        it.codpro, 
        c.CGC, 
        count(*) as QtdNotas
    from NFSAIDACAD nf 
    inner join ITNFSAICAD it 
        on it.numord = nf.numord 
    inner join CLIENTECAD c 
        on c.OID = nf.codclie
    where 
        nf.filial = '23' and 
        nf.dtemis > '20120401' and 
        nf.tpo = '20111' and 
        nf.dtcancel is null
    group by 
        it.codpro, 
        c.CGC
    having count(*) > 1
    order by 
        c.CGC

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta César Felix terça-feira, 12 de março de 2013 17:38
    sexta-feira, 14 de dezembro de 2012 23:11

Todas as Respostas

  • Boa noite,

    Quais colunas essa consulta deverá retornar? Acho que depende muito de quais colunas serão necessárias.

    Segue uma sugestão inicial:

    select 
        it.codpro, 
        c.CGC, 
        count(*) as QtdNotas
    from NFSAIDACAD nf 
    inner join ITNFSAICAD it 
        on it.numord = nf.numord 
    inner join CLIENTECAD c 
        on c.OID = nf.codclie
    where 
        nf.filial = '23' and 
        nf.dtemis > '20120401' and 
        nf.tpo = '20111' and 
        nf.dtcancel is null
    group by 
        it.codpro, 
        c.CGC
    having count(*) > 1
    order by 
        c.CGC

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta César Felix terça-feira, 12 de março de 2013 17:38
    sexta-feira, 14 de dezembro de 2012 23:11
  • Olá Cesar, explique melhor a tua necessidade por favor.

    "Eu preciso saber se foi emitido nota fiscal com o mesmo codigo de produto"

    Qual código?

    "e com o CPF do cliente. "

    Aqui tu vai passar esta informação?

    Ou simplesmente os joins resolvem teu problema, de repente a resposta do gapimex pode ser a solução.


    --
    Marcus Vinícius Bittencourt
    blog: isqlserver.wordpress.com
    www.sqlserverRS.com.br

    quarta-feira, 19 de dezembro de 2012 13:40
  • César,

    Qual seria a condição para saber a emissão da Nota? Acredito que você deva ter algum campo do tipo Flag ou Bit!!!



    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 3 de janeiro de 2013 15:55