Fórum como usar and e or #355384
14/03/2008
0
query1.close;
query1.sql.add(´select * from clientes´);
query1.sql.add(´where data = 20070101´);
query1.sql.add(´and cliente = 1´);
query1.sql.add(´or cliente = 1´);
query1.sql.add(´or cliente = 1´);
query1.sql.add(´or cliente = 1´);
query1.open;
assim ela não funciona o resultado fica errado como faço para aninhar os comandos os junto com o and dentro da query seria select * from clientes where data = 20070101 and ((cliente = 1) or (cliente = 2) or (cliente = 3))
Cpd_arim
Curtir tópico
+ 0Posts
14/03/2008
Ferreia2
Gostei + 0
14/03/2008
Jakefrog
query1.sql.add(´where data = 20070101´);
query1.sql.add(´and cliente = 1´);
query1.sql.add(´or cliente = 1´);
query1.sql.add(´or cliente = 1´);
query1.sql.add(´or cliente = 1´);
tem que ficar assim
And (()or()or())
Sacou? And () e cada condição separada por ()
Mas nesse caso vc poderia fazer assim:
query1.sql.add(´select * from clientes´);
query1.sql.add(´where data = 20070101´);
query1.sql.add(´and cliente [b]in (1,2,3,4,5,6)´);
Já é? Falou!
Gostei + 0
17/03/2008
Cpd_arim
query1.sql.add(´select * from clientes´);
query1.sql.add(´where data = 20070101´);
query1.sql.add(´and cliente = 1´);
query1.sql.add(´or cliente =´ +#39+´01´+39);
query1.sql.add(´or cliente =´ +39+´02´+39);
query1.sql.add(´or cliente =´ +39+´03´+39);
query1.open;
não sei como agrupar o or e assim não funciona.
Gostei + 0
17/03/2008
Powerlog Tecnologia
xClientes := edit1.text; if (edit2.text <> ´´) and (xClientes <> ´´) then xClientes := xClientes + ´, ´; xClientes := xClientes + edit2.text; if (edit3.text <> ´´) and (xClientes <> ´´) then xClientes := xClientes + ´, ´ xClientes := xClientes + edit3.text; if (edit4.text <> ´´) and (xClientes <> ´´) then xClientes := xClientes + ´, ´ xClientes := xClientes + edit4.text;
A query ficaria assim, substituindo os OR por IN
query1.sql.text := ´ select * from clientes ´ + ´ where data = :pdata ´ + ´ and cliente in (:pclientes ) ´ ; query1.parambyname(´pdata´).value := date; query1.parambyname(´pclientes´).value := xClientes; query1.open;
Espero que ajude
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)