Boa tarde!
Perdoem-me pelo tamanho do enunciado que farei a seguir:
Preciso encontrar e deletar os clientes que não fazem pedido num determinado período!
Tenho um banco de dados com várias tabelas, mas as tabelas que estou usando são:
“CLIENTE” e “PEDIDOENTREGA”; O problema começa aí, pois o campo comum entre elas é o número de telefone do cliente e os dados digitados nesses campos não estão no mesmo formato.
Tabela “CLIENTE” está no formato: 27999999999 (27 = DDD e 999999999=telefone do cliente)
Tabela “PEDIDOENTREGA” está no formato: (27)999999999 ou apenas 999999999
Para resolver isso, criei (usando assistente de consultas) duas consultas simples (uma com a tabela de clientes e a outra com a tabela de pedidos usando a função DIREITA:
Tabela “cliente” (campo celular) –Direita([Celular];9)
Tabela “PedidoEntrega” – Direita([fone1]);9)
Os dois campos estão no formato TEXTO em ambas as tabelas.
Com as duas consultas prontas, criei (novamente usando o assistente de consultas) com a opção de consulta localizar não coincidentes onde os campos comuns são “celular” (tabela “CLIENTE”) e “fone1” (tabela “PEDIDOENTREGA”).
Com isso, deu certo, consegui achar todos os clientes que não compram, mas não consigo deletá-los do banco de dados nem fazendo a CONSULTA EXCLUSÃO.
O código SQL da COSULTA EXCLUSÃO ficou assim:
DELETE DISTINCTROW [Cliente Consulta].Codigo, [Cliente Consulta].Nome, [Cliente Consulta].TipoPessoa, [Cliente Consulta].Bairro, [Cliente Consulta].Endereco, [Cliente Consulta].CEP, [Cliente Consulta].Cidade, [Cliente Consulta].Contato, [Cliente Consulta].UF, [Cliente Consulta].Expr1, [Cliente Consulta].DtNascimento, [Cliente Consulta].Fone3, [Cliente Consulta].Telefone, [Cliente Consulta].CPF, [Cliente Consulta].Fax, [Cliente Consulta].email, [Cliente Consulta].InscEst, [Cliente Consulta].Obs, [Cliente Consulta].Website, [Cliente Consulta].DtInclusao, [Cliente Consulta].Operadora, [Cliente Consulta].Status, [Cliente Consulta].Nextel, [Cliente Consulta].PontoRef, [Cliente Consulta].Alerta, [Cliente Consulta].Identificação, [Cliente Consulta].PermissaoVenda, [PedidoEntrega Consulta].Expr1, Cliente.*
FROM ([Cliente Consulta] LEFT JOIN [PedidoEntrega Consulta] ON [Cliente Consulta].[Expr1] = [PedidoEntrega Consulta].[Expr1]) INNER JOIN Cliente ON [Cliente Consulta].Identificação = Cliente.Identificação
WHERE ((([PedidoEntrega Consulta].Expr1) Is Null));
Mais uma vez, desculpem o tamanho do Enunciado, antecipadamente agradeço a todos desejando uma ótima semana!
Perdoem-me pelo tamanho do enunciado que farei a seguir:
Preciso encontrar e deletar os clientes que não fazem pedido num determinado período!
Tenho um banco de dados com várias tabelas, mas as tabelas que estou usando são:
“CLIENTE” e “PEDIDOENTREGA”; O problema começa aí, pois o campo comum entre elas é o número de telefone do cliente e os dados digitados nesses campos não estão no mesmo formato.
Tabela “CLIENTE” está no formato: 27999999999 (27 = DDD e 999999999=telefone do cliente)
Tabela “PEDIDOENTREGA” está no formato: (27)999999999 ou apenas 999999999
Para resolver isso, criei (usando assistente de consultas) duas consultas simples (uma com a tabela de clientes e a outra com a tabela de pedidos usando a função DIREITA:
Tabela “cliente” (campo celular) –Direita([Celular];9)
Tabela “PedidoEntrega” – Direita([fone1]);9)
Os dois campos estão no formato TEXTO em ambas as tabelas.
Com as duas consultas prontas, criei (novamente usando o assistente de consultas) com a opção de consulta localizar não coincidentes onde os campos comuns são “celular” (tabela “CLIENTE”) e “fone1” (tabela “PEDIDOENTREGA”).
Com isso, deu certo, consegui achar todos os clientes que não compram, mas não consigo deletá-los do banco de dados nem fazendo a CONSULTA EXCLUSÃO.
O código SQL da COSULTA EXCLUSÃO ficou assim:
DELETE DISTINCTROW [Cliente Consulta].Codigo, [Cliente Consulta].Nome, [Cliente Consulta].TipoPessoa, [Cliente Consulta].Bairro, [Cliente Consulta].Endereco, [Cliente Consulta].CEP, [Cliente Consulta].Cidade, [Cliente Consulta].Contato, [Cliente Consulta].UF, [Cliente Consulta].Expr1, [Cliente Consulta].DtNascimento, [Cliente Consulta].Fone3, [Cliente Consulta].Telefone, [Cliente Consulta].CPF, [Cliente Consulta].Fax, [Cliente Consulta].email, [Cliente Consulta].InscEst, [Cliente Consulta].Obs, [Cliente Consulta].Website, [Cliente Consulta].DtInclusao, [Cliente Consulta].Operadora, [Cliente Consulta].Status, [Cliente Consulta].Nextel, [Cliente Consulta].PontoRef, [Cliente Consulta].Alerta, [Cliente Consulta].Identificação, [Cliente Consulta].PermissaoVenda, [PedidoEntrega Consulta].Expr1, Cliente.*
FROM ([Cliente Consulta] LEFT JOIN [PedidoEntrega Consulta] ON [Cliente Consulta].[Expr1] = [PedidoEntrega Consulta].[Expr1]) INNER JOIN Cliente ON [Cliente Consulta].Identificação = Cliente.Identificação
WHERE ((([PedidoEntrega Consulta].Expr1) Is Null));
Mais uma vez, desculpem o tamanho do Enunciado, antecipadamente agradeço a todos desejando uma ótima semana!