У меня есть три таблицы в MSSQL для игры, которые структурированы следующим образом:
CHARS
Вот таблица соответствия:
- strAccount, который связан с первичным ключом NGSCUSER, это
имя пользователя аккаунта
- strChar01, который является первым слотом для символов
- strChar02, который является вторым слотом символа
- strChar03, который является третьим слотом для символов
у них есть первичный ключ таблицы gameuser внутри, они являются именами персонажей
NGSCUSER
- имя пользователя учетной записи strUserID
- пароль учетной записи strPasswd
GAMEUSER
- strUserId Это имя персонажа
- sРанк, является ли персонаж мастером игры
Что мне нужно сделать, это сравнить данные для входа в систему с PHP-переменными $ username и $ password в запросе и, что наиболее важно, проверить их связанный символ и выяснить, имеет ли он sRank 1
Полагаю, мне нужно какое-то объединение в три таблицы, но я не знаю, как это сделать. Любые примеры или помощь будут высоко оценены
Это запрос, который я пытался построить до сих пор, но он содержит ошибку в третьей строке с неправильным синтаксисом около 'CHARS':
SELECT NGSCUSER.strUserID, NGSCUSER.strPasswd, GAMEUSER.sRank
FROM 'CHARS'
INNER JOIN NGSCUSER ON NGSCUSER.strUserId = CHARS.strAccount
INNER JOIN GAMEUSER ON GAMEUSER.strUserId = CHARS.strChar01
INNER JOIN GAMEUSER ON GAMEUSER.strUserId = CHARS.strChar02
INNER JOIN GAMEUSER ON GAMEUSER.strUserId = CHARS.strChar03
WHERE NGSCUSER.strUserId='$username' and NGSCUSER.strPasswd='$password' and GAMEUSER.sRank = '1'