Ir para conteúdo

Arquivado

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

AlessandrodeMatos

Consulta Com Apelidos

Recommended Posts

SELECT Evento.CharID as IDChar 
FROM _LogEventChar as Evento 
WHERE Evento.EventID = 4 
AND NOT EXISTS (SELECT * 
               FROM _LogEventChar as Evento1 
               WHERE Evento1.EventID = 6 
               AND Evento1.CharID = Evento.IDChar) 
ORDER BY EventTime DESC

 

erro :

 

Msg 207, Level 16, State 1, Line 1
Invalid column name 'IDChar'.

 

pessoal alguém sabe o porque do erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT Evento.CharID as IDChar 
FROM _LogEventChar as Evento 
WHERE Evento.EventID = 4 
AND NOT EXISTS (SELECT * 
               FROM _LogEventChar as Evento1 
               WHERE Evento1.EventID = 6 
               AND Evento1.CharID = Evento.CharID) 
ORDER BY EventTime DESC

 

No SQL não pode usar o alias, só o nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT Evento.CharID as IDChar 
FROM _LogEventChar as Evento 
WHERE Evento.EventID = 4 
AND NOT EXISTS (SELECT * 
               FROM _LogEventChar as Evento1 
               WHERE Evento1.EventID = 6 
               AND Evento1.CharID = Evento.CharID) 
ORDER BY EventTime DESC

 

No SQL não pode usar o alias, só o nome.

 

Agora ele Está retornando em branco :S, oque pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma condição não foi atendida, rode em separado

 

SELECT Evento.CharID as IDChar 
FROM _LogEventChar as Evento 
WHERE Evento.EventID = 4 
ORDER BY EventTime DESC

 

e

 

 

SELECT * 
FROM _LogEventChar as Evento1 
WHERE Evento1.EventID = 6 

 

e veja se retorna alguma coisa, depois veje se

os charID existem nas duas tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma condição não foi atendida, rode em separado

 

SELECT Evento.CharID as IDChar 
FROM _LogEventChar as Evento 
WHERE Evento.EventID = 4 
ORDER BY EventTime DESC

 

e

 

 

SELECT * 
FROM _LogEventChar as Evento1 
WHERE Evento1.EventID = 6 

 

e veja se retorna alguma coisa, depois veje se

os charID existem nas duas tabelas.

 

sim , o charid é encontrado nas duas e retorna varias linhas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade é um NOT EXISTS, logo não existe

_LogEventChar.EventID = 4

sem

_LogEventChar.EventID = 6

 

Ou seja, está correto, não ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade é um NOT EXISTS, logo não existe

_LogEventChar.EventID = 4

sem

_LogEventChar.EventID = 6

 

Ou seja, está correto, não ?

 

tipo é para verificar se o usuario ta online

 

tipo a tabela fica gravada varios registros

 

pra ver se o usuario ta logado tem que ser o 4 se não existir o 6 ele ainda está logado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe então mais de _LogEventChar por CharID (4 e 6) ?

 

A query #2 faz

Traga todos os registros de _LogEventChar

cujo EventID seja = 4

e não exista EventID = 6

para o mesmo CharID.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe então mais de _LogEventChar por CharID (4 e 6) ?

 

A query #2 faz

Traga todos os registros de _LogEventChar

cujo EventID seja = 4

e não exista EventID = 6

para o mesmo CharID.

 

Sim, Existem vários EventID e a query é só pra saber se o char deslogou ou não a a query pra 1 char só eu fiz mais pra vários chares ta dando problema

 

é assim que vai pra tabela , mais se o char fizer mais coisas gera mais id's entende?

 

CharID	EventTime             EventID  Data1	Data2		EventPos	StrDesc
15038	2012-09-06 16:27:42.343	6	0	692220677	NULL	NULL
15038	2012-09-06 16:27:04.357	9	0	0	Town_Jangan(0x61a8) (995, 1132)	500000
15038	2012-09-06 16:27:02.513	11	4	7	NULL	500000
15038	2012-09-06 16:26:26.373	9	0	0	Town_Jangan(0x61a8) (995, 1132)	500000
15038	2012-09-06 16:26:23.607	4	0	692220677	NULL	NULL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez falte testar mais algum campo, tipo data ou algum tipo de status/situação.

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.