Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E ai galera, to precisando da ajuda de voces. É o seguinte, tenho essa condicao:
and b.usu_reg_id >= 100
Só que essa condição só funciona para um campo
b.usu_grues_id = 23 //e eu tenho mais 2 valores 21,22.
Minha pergunta é tem como eu colocar uma condição
if us_grues_id = 23 then and b.usu_reg_id >= 100 else //não faz nada
.
Isso em postgres.
sim, o problema é que preciso colocar isso aqui tambem
and b.usu_grues_id in(21,22)
E isso o sql da erro.
A condicao
and b.usu_reg_id >= 100
Não pode funcionar para
and b.usu_grues_id in(21,22)
Só funciona para
and b.usu_grues_id =(23)
where ...
and b.usu_reg_id >= 100
and b.usu_grues_id in (21,22,23)
Se não funcionar publica o SQL.
Primeiramente obrigado.
Desse jeito ele irá fazer nos 3 grupos(21,22,23) eu quero que faça só no 23.
Funcionar ate funciona, só que esta errado.
Por isso eu pensei em alguma condição.
Quais as condições ?!
Para o usu_grues_id ?
Para o usu_reg_id ?
As condições são combinadas ?!
o usu_grues_id são usuarios rede
e o usu_reg_id são usuarios da regional.
Só que na rede existem uns teste que são com numeros maiores que 100. Por isso a combinaçao.
Se entendi ...
where (
(b.usu_reg_id >= 100 and b.usu_grues_id = 23)
or
(b.usu_grues_id <> 23)
)
ja fiz e nao deu certo. :cry:
Tente escrever a regra, fica mais fácil implementar.
Bem eu escrevi no inicio, mas escrevo para voce de novo
if (us_grues_id = 23 )
{
and b.usu_reg_id >= 100
}
else
{
true;
//nao faz nada
}
Entendeu?
Pensei em algo do tipo.
Se o usuário é Membro pode excluir seu tópico.
Se o usuário é Moderador pode excluir tópico de sua área.
Se o usuário é Admin pode excluir tópico de qualquer área.
mas
if (us_grues_id = 23 )
{
and b.usu_reg_id >= 100
}
//true/false ?!
else
{
true;
//nao faz nada
}
Lembre que a condição WHERE num select faz com se traga ou não aquele registro específico.
Seguintes, todos os registros existentes nesse campo menores que 100 são teste que os caras fizeram. Então não posso pegar esses dados, porque são todos teste, não valem nada. E todos os dados ate mesmo os testem, não são validos excluir, para ter registro no banco sempre é bom.
where b.usu_reg_id >= 100
só isto então.
where ...
and b.usu_reg_id >= 100
and b.usu_grues_id = 23
isto ?!