Данные из трех таблиц дублируются при использовании оператора JOIN

когда я извлекаю данные из своих таблиц с помощью JOIN, строки дублируются. Таблицы три.

Students -------- StuID | Name | 1 | Appiah John | 2 | Minister A | Levels ------ | LevelID | Level | Year | StuID | | 08 | 100 | 2010 | 2 | | 83 | 200 | 2011 | 1 | | 45 | 200 | 2011 | 2 | Ranks ----- | RankID | Rank | StuID | | 101 | 1st | 1 | | 404 | 4th | 2 | 

Это моя инструкция запроса для выбора некоторых данных из трех таблиц

 SELECT m.StuID, n.Level, n.Year, o.Rank FROM Students m INNER JOIN Levels n ON m.StuID=n.StuID INNER JOIN Ranks o ON m.StuID=o.StuID WHERE m.StuID=2; 

ВЫВОД

Вышеуказанный запрос дает дубликат ответа

 | StuID | Level | Year |Rank | | 2 | 100 | 2010 | 4th | | 2 | 200 | 2011 | null | | 2 | 100 | 2010 | 4th | | 2 | 200 | 2011 | null | 

ЖЕЛАТЕЛЬНЫЙ ВЫХОД

Поэтому я хочу, чтобы результат был следующим:

 | StuID | Level | Year |Rank | | 2 | 100 | 2010 | 4th | | 2 | 200 | 2011 | null | 

ВОПРОСОВ

  1. Где я иду не так?
  2. Является ли лучший способ выбрать данные из трех таблиц?
  3. Как я могу сделать запрос для получения желаемого результата?

Solutions Collecting From Web of "Данные из трех таблиц дублируются при использовании оператора JOIN"