zekasan Posted April 14, 2016 Report Share Posted April 14, 2016 Bom dia, abaixo um dos select do meu prg "select count(1) as qt, sum(case when a.vlliquido = a.vltotalprestacao then (a.vlliquido - a.vlicms) "+; "when a.vlliquido <> a.vltotalprestacao then (a.vlliquido - a.vlICMScredpres) "+; "end) as valorliquido_meta, c.cdempresa as empresa_meta, "+; "convert(nvarchar(10), a.dtemissao, 103) as emissao_rela "+; "from gtcconhe a "+; "left join sisclifa b on a.cdinscricao = b.cdinscricao "+; "left join sisrepre c on b.cdrepresentante = c.cdrepresentante "+; "where isnull(a.inconhecimento,0) = 0 "+; "and a.dtemissao >= '"+DATA_SQL(DATA_INICIO_META)+"' "+; "and a.dtemissao <= '"+DATA_SQL(DATA_FIM_META)+"' "+; "and a.cdinscricao = '49351786001071' "+; "and a.intipoemissao = 5 "+; "group by c.cdempresa, a.dtemissao "+; "order by c.cdempresa, a.dtemissao " Destacado em vermelho, pego todos CTe que foram emitidos para o cnpj e que tiveram o tipo de emissão = 5 O que eu preciso também é o contrário, que ele não pegue os CTe deste CNPJ com o tipo de emissão 5 (somente estes não podem ser pegos) Podem me ajudar? Grato Quote Link to comment Share on other sites More sharing options...
kleyber Posted April 14, 2016 Report Share Posted April 14, 2016 Zekasan, Se eu entendi bem, seria: "and a.cdinscricao = '49351786001071' "+; "and a.intipoemissao <> 5 "+; Quote Link to comment Share on other sites More sharing options...
zekasan Posted April 14, 2016 Author Report Share Posted April 14, 2016 Não é isso, aí ele vai pegar só o que for deste cnpj com tipo de impressão que não seja 5 eu não quero que seja selecionado documentos deste CNPJ com tipo de emissão 5. EU quero pegar de todos os outros CNPJ do BD e deste CNPJ, porém deste CNPJ eu não quero os tipo 5 Quote Link to comment Share on other sites More sharing options...
zekasan Posted April 14, 2016 Author Report Share Posted April 14, 2016 Seria como se fosse isso do whil .t. if CNPJ = '49351786001071' .and. intipoemissao = 5 skip loop endif . . enddo Não consegui colocar esta condição dentro do script Quote Link to comment Share on other sites More sharing options...
joaosolution Posted April 14, 2016 Report Share Posted April 14, 2016 Zeka Boa tarde Utilizando meu BD aqui consegui isto da seguinte forma: select sequencia,chapa,data,nome,codsetor,codsubse,codcargo from cadrev where (chapa,codsetor) not in (select chapa,codsetor from cadrev where chapa='36610' and codsetor='22443') O subselect entre parênteses é o select do que você quer retirar do select principal. Att João Bosco Quote Link to comment Share on other sites More sharing options...
zekasan Posted April 14, 2016 Author Report Share Posted April 14, 2016 eu coloquei o seguinte e parece que funcionou and not (a.cdinscricao = '49351786001071' and a.intipoemissao = 5) é igual ao harbour, quando coloco entre parenteses ele assume um só resultado? Quote Link to comment Share on other sites More sharing options...
kleyber Posted April 14, 2016 Report Share Posted April 14, 2016 Isso mesmo Quote Link to comment Share on other sites More sharing options...
zekasan Posted April 14, 2016 Author Report Share Posted April 14, 2016 Obrigado pela dica Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.