Я пытаюсь объединить 3 таблицы вместе, но использую статистику IF только для выполнения определенного запроса
У меня есть таблица пользователей, таблица клиентов и персонала.Первая часть ниже работает:
SELECT user.`userID`, `username`, `user`.email, `registeredBy`, `registeredDate`,
CONCAT(staff.firstName, ' ' ,staff.lastName) AS staffName FROM `user`
INNER JOIN `level` ON `user`.levelID = `level`.levelID
INNER JOIN `staff` ON `user`.registeredBy = `staff`.userID
Мне нужно посмотреть, кто зарегистрировал пользователя, который показывает нормально, но затем мне нужно просмотреть либо имя персонала, если уровень пользователя равен 2, либо имя клиента, если пользовательуровень 1
INNER JOIN `staff` ON `user`.userID = staff.userID IF (user.level = 2)
INNER JOIN `customer` ON user.userID = customer.userID IF(user.level = 1)
Добавление вышеуказанного создает ошибку
Не уникальная таблица / псевдоним: 'staff'
Если удалить внутреннююприсоединиться к персоналу, я получаю сообщение об ошибке
В синтаксисе SQL есть ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'IF (user.level = 2)' в строке 6
Мне нужно только показать имя клиента или персоналимя в зависимости от уровня, но я не могу понять, как, поскольку я присоединяюсь к штатному расписанию дважды.Один раз, чтобы получить член персонала, который зарегистрировал пользователя, а затем просмотреть имя персонала (или клиента).
Чтобы упростить задачу, пример страницы, которую я показываю:
username |имя |тип учетной записи |зарегистрирован
Надеюсь, я не слишком усложнил понимание.
Спасибо.