SQL - CLIENTES SEM MOVIMENTO POR REGIAO
                    preciso montar uma query que pegue em um perÃodo os clientes que não tiveram movimento por região, ou melhor, as cidades serão informadas.
                
            
                    Futura Bom Dia
Acho que ficaria algo assim:
select * from suatabela where data between datainicial and datafinal and cidade not in (cidades selecionadas)
Testa ai
Abraço
            Acho que ficaria algo assim:
select * from suatabela where data between datainicial and datafinal and cidade not in (cidades selecionadas)
Testa ai
Abraço
                    alvaro, ai q ta o problema, não achei idéia para as cidades selecionadas, não estava querendo usar tabela temporária para grava-las, mas pelo jeito vai ter q usar.
                
            
                    Informe a ESTRUTURA da tabela.
                
            
                    Futura vc pode ter uma tabela onde estejam cadastradas as cidades e no cadastro de clientes quando for selecionar a cidade, vc guarda o código da cidade, assim  vc terá como selecionar as cidades, más essa tabela de cidades não será temporária
Entendeu?
            Entendeu?
                    sim entendi, mas eu ja tenho isto. estou tentanto achar a lógica para montar a  sql de clientes q não compram no perÃodo, o perÃodo esta na tabela de vendas, e no cadastro de clientes, tenho o campo id_cid ( cidades).  acho q teria q ser um select dentro de outro, o problema é a selação das cidades, por exemplo, ao tirar o relatório o usuário escolhe 3 cidades, não estou vendo saida senão joga-las em uma tabela temp.....para depois montar o select....
                
            SELECT      Cli.Cidade, cli.Nome,
            COUNT(Mov.DataMov) AS Qtd
FROM        Clientes    Cli
LEFT JOIN   Movimentos  Mov
    ON      mov.CodCli = Cli.CodCli
HAVING      COUNT(Mov.DataMov) = 0
GROUP BY    Cli.Cidade, cli.Nome
WHERE       mov.DataMov BETWEEN @Dt1 AND @Dt2
                
                    Futura não sei se entendi a sua dificuldade, más acho que está em saber como guardar as cidades selecionadas é isso?
Se for tem duas formas
No Form vc preenche 3 combos - Descricao + código - depois da um split e tira o código e/ou preenche um combo e cria 3 variáveis e da o mesmo split e guarda o código, depois utiliza o meu select e coloca esses códigos lá, td o que for diferente do q foi selecionado, irá trazer no resultado
Se entendi acho q isso pode te ajudar
            Se for tem duas formas
No Form vc preenche 3 combos - Descricao + código - depois da um split e tira o código e/ou preenche um combo e cria 3 variáveis e da o mesmo split e guarda o código, depois utiliza o meu select e coloca esses códigos lá, td o que for diferente do q foi selecionado, irá trazer no resultado
Se entendi acho q isso pode te ajudar
                    O SELECT que você quer é este aqui mas, se for montar ele no VB para executar, muda as variáveis @xxx para os valores que vc tem dos respectivos campos.
            SELECT      cid.NomeCidade, cli.Nome,
            COUNT(Mov.DataMov) AS Qtd
FROM        Clientes    Cli
INNER JOIN  Cidades     Cid
    ON      cid.id_cid = cli.id_cid
LEFT JOIN   Movimentos  Mov
    ON      mov.CodCli = Cli.CodCli
HAVING      COUNT(Mov.DataMov) = 0
GROUP BY    Cid.NomeCidade, cli.Nome
WHERE       mov.DataMov BETWEEN @Dt1 AND @Dt2
       AND (cid.NomeCidade = @Cid1 OR
            cid.NomeCidade = @Cid2 OR
            cid.NomeCidade = @Cid3)
                
                    BLZ RCMRO..EU VOU TESTAR DEPOIS TE PASSO O RESULTADO...POR EQTO VALEU....
                
            
                    Conseguiu testar? Funcionou? Tem algo mais que eu possa te ajudar?
Se estiver tudo OK, não esquece de fechar o tópico;
            Se estiver tudo OK, não esquece de fechar o tópico;
                        Tópico encerrado , respostas não são mais permitidas