0
我的查詢需要做到這一點需要一個MySQL查詢
- 獲得用戶的詳細信息
- 得到上次登錄的是登錄失敗的登錄
- 保存號碼登錄的表的幫助,但只有該用戶的最後3次登錄
我的問題似乎是在子查詢中。我想WHERE
的一部分引用在外部查詢中早先匹配的user_id。這甚至有可能嗎?我對這個查詢做了大量的混亂嗎?
$query = 'SELECT users.id,
users.email,
users.password,
users.first_name,
users.last_name,
max(user_logins.datetime) as last_login,
count(user_logins.failed) as failed_logins,
FROM users, user_logins
WHERE users.email = ' . Database::instance()->escape($email) . '
AND users.id = user_logins.user_id
AND user_logins.datetime IN (SELECT datetime FROM user_logins WHERE user_id = users.id )
LIMIT 1';
last_login
似乎工作得很好。我想要最後3個的原因是我可以檢查最後3個是否失敗,然後爲該用戶設置超時登錄。
我不能回去做一個UPDATE users SET failed = 1 WHERE failed = 0
,因爲那樣我就不會有一個準確的用戶登錄日誌。我希望看到任何失敗。
我在做什麼錯? 謝謝
非常感謝彼得。 – alex 2010-03-01 07:18:10