Usuário com melhor resposta
CONSULTA SQL

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.CGCObrigado!
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
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
-
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 -
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]