Fórum Como trazer o resultado correto neste select #405707
28/07/2011
0
Pessoal preciso trazer o resultado de todos serviços executados apenas por profissionais que estejam ativos
Mais o select que montei não esta fazendo isso
Vejam como fiz
Firebird 1.5
Mais o select que montei não esta fazendo isso
Vejam como fiz
select c.*, r.nome from clientes c, relatorios_conf r where c.codigo not in(select vendas.codigo_cliente from vendas, vendas_itens where data_hora between :dt1 and :dt2 and vendas.codigo = vendas_itens.codigo and exists (select profissionais.codigo from profissionais where vendas_itens.codigo_titular = profissionais.codigo and profissionais.ativo = 'Sim') and vendas_itens.apelido_titular in (:P)) and c.ativo = 'Sim' order by c.codigo
Firebird 1.5
Adriano Dolce
Curtir tópico
+ 0
Responder
Posts
28/07/2011
Emerson Nascimento
você quer listar os serviços ou os cliente?
outra coisa: como você está relacionando as tabelas clientes e relatorios_conf ?
tente assim:
select
*
from
vendas v
inner join
vendas_itens vi on vi.codigo = v.codigo
inner join
profissionais p on p.codigo = vi.codigo_titular and p.ativo = 'Sim'
inner join
clientes c on c.codigo = v.codigo_cliente
where
v.data_hora between :dt1 and :dt2
outra coisa: como você está relacionando as tabelas clientes e relatorios_conf ?
tente assim:
select
*
from
vendas v
inner join
vendas_itens vi on vi.codigo = v.codigo
inner join
profissionais p on p.codigo = vi.codigo_titular and p.ativo = 'Sim'
inner join
clientes c on c.codigo = v.codigo_cliente
where
v.data_hora between :dt1 and :dt2
Responder
Gostei + 0
29/07/2011
Adriano Dolce
você quer listar os serviços ou os cliente?
outra coisa: como você está relacionando as tabelas clientes e relatorios_conf ?
tente assim:
select
*
from
vendas v
inner join
vendas_itens vi on vi.codigo = v.codigo
inner join
profissionais p on p.codigo = vi.codigo_titular and p.ativo = 'Sim'
inner join
clientes c on c.codigo = v.codigo_cliente
where
v.data_hora between :dt1 and :dt2
outra coisa: como você está relacionando as tabelas clientes e relatorios_conf ?
tente assim:
select
*
from
vendas v
inner join
vendas_itens vi on vi.codigo = v.codigo
inner join
profissionais p on p.codigo = vi.codigo_titular and p.ativo = 'Sim'
inner join
clientes c on c.codigo = v.codigo_cliente
where
v.data_hora between :dt1 and :dt2
Bom dia.
Primeira pergunta: Quero listar todos os clientes que executaram os serviços, mais com o profissional que esteja ATIVO, se o profissional não estiver mais ativo não precisa listar... Obs: o IN ai é que no meu filtro preciso montar com seleções dos profissionais que aparecem no listbox mesmo estando inativo ele aparece, porém se o mesmo entrar na lista do IN deve ser ignorado, caso seja possível. (Foi o que pediram para eu fazer)
Segunda pergunta: Este relatorios_conf não precisa de relacionamento pq tem apenas um arquivo. Serve apenas para o cabeçalho de relatorios.
Obrigado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)