[RESOLVIDO]Dúvida multiplos where em SQL

3 respostas
W

Pessoal, eu preciso buscar em minha tabela, registros dentro de duas datas especificas enquanto efetivado for igual a 1 e cancelado igual a 0.
estou fazendo da seguinte forma, porém ta sendo retornado um erro de ambiguidade… alguém pode me ajudar a como proceder?

WHERE AR.DATA_VENCIMENTO BETWEEN '2011-07-20' AND '2011-07-30', AND EFETIVADO = 1 AND CANCELADO=0

3 Respostas

C

bom… nas duas linhas de baixo vc nao diz de qual tabela o campo pertence… e outro detalhe… o valor a testar para condicao true acho q eh - 1 e false 0 … tenta fazer uns testes… e se o campo eh logico… vc pode colocar true ou false no lugar de -1 e 0 … abrass

C

Quando acontece erro de ambiguidade é porque você está usando uma coluna cujo nome aparece em mais de uma tabela que está usando.
Você pode colocar um alias antes do nome da coluna ou nome da tabela para o sql saber qual coluna exibir. Ex:

select coluna1, coluna2
from tabela1, tabela2

imagine que a “coluna2” existe nas duas tabelas…
Então você poderia fazer assim

select coluna1, t2.coluna2
from tabela1 t1, tabela2 t2

Blza?

W

valeu galera…
faltou um

AND AR.EFETIVADO=1 AND AR.CANCELADO=0

Criado 25 de julho de 2011
Ultima resposta 25 de jul. de 2011
Respostas 3
Participantes 3