У меня есть 2 таблицы, таблица A, в которой есть 2 столбца, которые содержат идентификаторы, и таблица B, в которой совпадают идентификаторы с названиями фильмов. Я хочу выбрать строку с названиями фильмов, а не с идентификаторами фильмов, такими как
Таблица A
+-----+----------------------------------------------+
| id | name | favmovieid| leastfavmovieid |
+-----+----------------------------------------------+
| 101 | Name 1 | 1 | 5 |
| 102 | Name 2 | 6 | 8 |
| 103 | Name 3 | 8 | 6 |
+-----+----------------------------------------------+
Таблица B
+-------+---------------------+
| movid | namemovie |
+-------+---------------------+
| 1 | Harry Potter 1 |
| 2 | Harry Potter 2 |
| 3 | Harry Potter 3 |
| 4 | Lord of the Rings 1 |
| 5 | Lord of the Rings 2 |
| 6 | Lord of the Rings 3 |
| 7 | Iron Man 1 |
| 8 | Iron Man 2 |
+-------+---------------------+
Я пытался использовать внутреннее соединение, объединяя оба столбца, например
Select TableB.namemovie,TableB.namemovie from
((TableA inner join TableB on TableA.favmovieid=TableB.movid) inner join on TableB TableA.leastfavmovieid=TableB.movid) where TableA.id=101
Но я получаю сообщение о том, что таблица B упоминается слишком много раз
Тогда я тоже попробовал объединение как
Select TableB.namemovie from (TableA inner join TableB on TableA.favmovieid=TableB.movid)
where TableA.id=101
union
Select TableB.namemovie from (TableA inner join TableB on TableA.leastfavmovieid=TableB.movid)
where TableA.id=101
он возвращает два названия фильма, но в двух разных строках я хочу вернуть только одну строку, поскольку я хочу, чтобы в этой строке было возвращено больше информации, например имя, может быть цена или любой другой столбец.