Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alissonxx

left join

Recommended Posts

galera seguinte...

 

eu tenho uma tabela chamada

 

radchecks(cadastro dos usuarios)

 

e uma chamada

 

radreplies(estados do usuario)

 

eu tenho que verificar os usuarios que estao ativos no sistema

 

para o usuario estar ativo, ele tem que seguir essas condições

 

1)radchecks.UserName deve estar cadastrado

2)radchecks.UserName pode ter um estado na tabela radreplies.Attribute, que pode ser IP ou Estar Bloqueado.

3)para ele estar bloqueado:

 

radchecks.UserName deve ser igual a radreplies.UserName, se eles sao iguais

 

ele verifica se radreplies.Attribute é igual a 'poolnegado'

 

se for.. o cara ta bloqueado.

 

mas, eu quero selecionar apenas os ativos .. e preciso fazer via mysql

 

alguem poderia me ajudar?

 

segue o código que eu fiz.

 

 

"SELECT * FROM radchecks

LEFT JOIN radreplies

ON radreplies.UserName=radchecks.UserName

AND radreplies.Empresa=radchecks.Empresa

WHERE radchecks.Empresa='$empresa_escolhida'

AND radreplies.Attribute<>'Framed-Pool'

lembrando que ele tem q ignorar os bloqueados e somente mostrar os ativos

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei de várias formas, mas não consegui

 

SELECT *

FROM radchecks

JOIN radreplies

ON radchecks.UserName = radreplies.UserName OR radreplies.UserName=null

WHERE radreplies.Value<>'pool_acessonegado' OR radreplies.Value=null

Compartilhar este post


Link para o post
Compartilhar em outros sites

"SELECT radcheck.id, radcheck.UserName, radcheck.Attribute, 
radcheck.Value FROM radcheck inner join
radreply on radcheck.username=radreply.username WHERE radreply.Username = 
'%{SQL-User-Name}' and radreply.Attribute='session-timeout
' and radreply.Value>0 ORDER BY radcheck.id"

Ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

"SELECT radcheck.id, radcheck.UserName, radcheck.Attribute, 
radcheck.Value FROM radcheck inner join
radreply on radcheck.username=radreply.username WHERE radreply.Username = 
'%{SQL-User-Name}' and radreply.Attribute='session-timeout
' and radreply.Value>0 ORDER BY radcheck.id"

Ajuda?

 

ajuda sim,

 

vou tentar te explicar como funciona...

 

a tabela radchecks sao cadastros de usuarios,

a tabela radreplies sao estados do usuario.

 

o que liga as tabelas é o campo UserName.

 

eu preciso ver o seguinte, mostrar os usuarios que nao estao bloqueados...

 

para o cara estar bloqueado

 

ele deve ter um registro na tabela radreplies onde o campo Attribute='Framed-Pool'

 

se possui esse registro ele está bloqueado, mas...

 

na mesma tabela o cliente pode ter outros estados como IP e rota...

 

entao..

 

para o cara estar liberado

 

ele pode nao ter nenhum registro na radreplies ou ter estados como ip e rota

 

para estar bloqueado deve ter o registro de framed-pool na radreplies

 

 

esse codigo que fiz no mysql deveria funcionar

 

SELECT * FROM radchecks //seleciona cadastro de clientes

JOIN radreplies //adiciona estados de cliente

ON radchecks.UserName = radreplies.UserName OR radreplies.UserName='' //o nome de usuario pode ser igual nas 2 tabelas ou a tabela pode nao ter o registro do usuario,

WHERE radreplies.Attribute<>'Framed-Pool' OR radreplies.Attribute='' //verifica se //verifica se o atributo é framed-pool ou a tabela nao pode ter o registro, entao o cara ta liberado

GROUP BY radchecks.UserName

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.