Erro na consulta SQL

Delphi

05/09/2005

o q esta errado nessa consulta ?

select * from tbordem where PREPARADOR and AUXILIAR = ´JOAO´


Quero q o resultado me de os dados de todas as vezes que o joao foi preparador e todas as vezes q ele foi auxiliar.

Obrigado


Geisonc

Geisonc

Curtidas 0

Respostas

Mdm

Mdm

05/09/2005

Bom se consegui entender direito vc esta tentando fazer 2 comparações ao mesmo tempo.

select * from tbordem where PREPARADOR = ´JOAO´ 
  and AUXILIAR = ´JOAO´


oe seja para cada campo vc devera fazer uma expressão.


GOSTEI 0
Gandalf.nho

Gandalf.nho

05/09/2005

Tente assim:

select * from tbordem where PREPARADOR = ´JOAO´ 
or AUXILIAR = ´JOAO´



GOSTEI 0
Geisonc

Geisonc

05/09/2005

Obrigado, deu certo das duas maneiras, porem, peço a ajuda novamente.
Existe o campo preparador e o campo auxiliar.

nesses dois campos vão nomes variados, porem quero q meu relatorio mostre quando foi q o nome joao é auxiliar e quando foi que o nome joao preparador, ta aí akela consulta q vcs me ajudaram, deu certo, mas como eu faço para mostrar no relatório acima se o cara foi o preparador ou se foi o auxiliar ? sendo q sao 2 campos distintos e no relatorio sera apenas um mostrando se ele é preparador ou auxiliar ? tem jeito de fazer isso em sql ??


muito obrigado mesmo !


GOSTEI 0
Steve_narancic

Steve_narancic

05/09/2005

Se você estiver utilizando Firebird 1.5 tente algo com CASE acho que fica mais ou menos assim


select
CASE WHEN CAMPO1 is null
 THEN CAMPO2
 ELSE CAMPO1
 end
from tabela



GOSTEI 0
Geisonc

Geisonc

05/09/2005

nao estou usando firebird, coloquei uma query para fazer a consulta... ficou assim:

dm.QueryOrdem.SQL.Clear;
dm.QueryOrdem.SQL.Add(´select * from tbordem where PREPARADOR = "´+ NOME + ´" or AUXILIAR = "´ + NOME +´"´);
dm.QueryOrdem.Open;



agora, gostaria de saber como eu faço, em SQL e na mesma instrução acima, isso: SE o campo preparador for igual a NOME faça qr1.caption:=´P´;

.... nao manjo muito de sql..... se puderem me ajudar agradeço !


GOSTEI 0
POSTAR