Я пробовал это целый день, но безуспешно. У меня есть 3 таблицы в моих системах, которые заключаются в следующем:SQL для возвращения активных пользователей, которые не вышли из системы
***User***
UserID (PK)
Username
***Usertransaction***
UsertransactionID (PK) (auto_increment)
UserID (FK)
TransactionID (FK)
TimeStamp
***Transaction***
TransactionID (PK)
TransactioName
Tables and Test Data - SQLFiddle
Когда пользователь входит в систему его нужно регистрироваться в таблице UserTransaction. Создана запись с UserID пользователя, идентификатором транзакции и временной меткой.
Это вход: $Query="insert into usertransaction('$UserID',1)"
Временная метка автоматически создается СУБД при вводе записи. То же самое выполняется системой, когда пользователь выходит из системы, но с другим идентификатором транзакции.
Это Выход: $Query="insert into usertransaction('$UserID',2)"
Так esentially Логин и выход из системы записывается в той же базе данных. У пользователя может быть много логинов и много выходных данных, но я хочу самый последний раз. Я сражался с SQL-запросом, чтобы вернуть счет всех пользователей, которые вошли в систему, однако не вышли из системы. Я знаю его Рождество, но, пожалуйста, любезно помогите.
меня это до сих пор:
select A.useriD,A.transactionID,A.Timestamp
from usertransaction
INNER JOIN
(
select userID, max(Timestamp) AS Latest_Login
from usertransaction
WHERE usertransaction=1
) AS B
ON A.UserID=B.UserID,A.transactionID=B.transactionID,A.Timestamp=B.Latest_Login
WHERE usertransaction=1
select A.useriD,A.transactionID,A.Timestamp
from usertransaction
INNER JOIN
(
select userID, max(Timestamp) AS Latest_Logout
from usertransaction
WHERE usertransaction=2
) AS B
ON A.UserID=B.UserID,A.transactionID=B.transactionID,A.Timestamp=B.Latest_Logout
WHERE usertransaction=2
Я получаю результат для входа и выхода из системы результат отдельно. Как я могу сравнить два оператора и проверить, все ли пользователь вошел в систему?
Привет Райан Я пытаюсь загрузить соответствующий документ слова, где Я документировал все. В нем есть экранные таблицы пользовательских таблиц. –
Здесь ребята, вот скрипка [ссылка] http://sqlfiddle.com/#!9/8830f/1 –
Я пытаюсь редактировать свой пост, но я не могу. Может ли это отредактировать и включить скрипку? –