QUERY P/ RETORNAR DADOS DE CLIENTES COM MESMO NOME

PERCIFILHO 16/12/2015 15:30:04
#455238
Estou tendo que fazer uma consulta com no SQLServer CE da seguinte maneira:
O usuário irá digitar na TextBox o nome do cliente. Terei que procurar na tabela de lançamentos, todos os lançamentos do cliente digitado e mostrar num DataGridView.
Só que o usuário pode digitar apenas parte do nome do cliente. Neste caso teria que mostrar todos os lançamentos de todos os clientes que forem filtrados.
Por exemplo: clientes: Antônio de Freitas, Antônio Martins, Antônio Xavier, Cleide Ap. Cardoso, Milton José Pereira, etc..
Se o usuário digitar Antônio, terei que mostrar no DataGridView todos os lançamentos de todos os Antônios da vida, inclusive em ordem alfabética.
Estou apanhando para fazer essa query.
Alguém pode me ajudar?
JABA 16/12/2015 15:42:21
#455241
[Ô]Select Nome From tabela Where Nome like [ô] [Ô] & txtNome.text & [Ô]%[ô] order by Nome[Ô]


ou

[Ô]Select Nome From tabela Where Nome like [ô]%[Ô] & txtNome.text & [Ô]%[ô] order by Nome[Ô]

PERCIFILHO 16/12/2015 16:00:34
#455242
Desculpe, JABA, talvez na ânsia de colocar a dúvida aqui, não tenha me expressado direito.
São duas tabelas: Clientes e Lançamentos.
No caso, o usuário está na tela de lançamentos e precisa digitar o nome do cliente que ele quer pesquisar e mostrar os lançamentos no DataGridView.
Aí, é como eu postei antes, existem os clientes: Antônio de Freitas, Antônio Martins, Antônio Xavier, Cleide Ap. Cardoso, Milton José Pereira, etc..
Quando o usuário digitar: Antônio, vou ter que mostrar todos os lançamentos de todos os clientes que tenham Antônio em qualquer parte do nome.
Para isso vou ter que pesquisar na tabela de lançamentos.
Essa união das duas tabelas é que eu não estou sabendo como utilizar.
JABA 16/12/2015 16:07:28
#455243
Resposta escolhida
[Ô]Select Cliente.Nome From Cliente, Lancamento Where Cliente.Id = Lancamento.IdCliente And Cliente.Nome like [ô] [Ô] & txtNome.text & [Ô]%[ô] order by Cliente.Nome[Ô]

ou

[Ô]Select Cliente.Nome From Cliente, Lancamento Where Cliente.Id = Lancamento.IdCliente And Cliente.Nome like [ô]%[Ô] & txtNome.text & [Ô]%[ô] order by Cliente.Nome[Ô]


OBS: Na primeira consulta, pega os nomes que iniciam com o contéudo do textbox, na segunda, pega em qualquer parte do campo.
PERCIFILHO 17/12/2015 07:49:05
#455258
Jaba, consegui fazendo umas adaptações:

Select Clientes.nome, Lancamentos.* From Clientes Inner Join Lancamentos On Clientes.id = Lancamentos.idcliente And Clientes.nome Like [ô]%[Ô] + txtConsulta.Text + [Ô]%[ô] Order By Clientes.nome Asc

Vou te pontuar pela dedicação em tentar me ajudar.
Valeu, até mais.
GUIMORAES 17/12/2015 08:50:55
#455260
PERCIFILHO,

Não sei se é seu caso, mais uma pesquisa fonética poderá resolver isto. Acredito que o SQL CE não tenha esta funcionalidade, porém você pode criar uma procedure e trigger para fazer isto.
PERCIFILHO 17/12/2015 08:54:35
#455261
Valeu Guimoraes123, mas eu já resolvi conforme a query descrita na resposta acima.
Estou encerrando o tópico.
Tópico encerrado , respostas não são mais permitidas