Каждая производная таблица должна иметь свой собственный псевдоним - хотя у меня есть псевдоним для каждой таблицы - PullRequest
1 голос
/ 03 октября 2019

Моя команда работала, и когда я пытался вставить ее снова, я получаю эту ошибку: каждая производная таблица должна иметь свой собственный псевдоним.

Это моя команда:

SELECT s1.* 
FROM subpages AS s1 
  INNER JOIN (
    SELECT s2.* 
    FROM subsubpages AS s2
  ) ON s1.subpage_id = s2.subpage_id 
WHERE s1.page_id = 18;

У меня разные псевдонимы для обеих таблиц. Есть идеи, почему я все еще получаю эту ошибку?

Ответы [ 2 ]

2 голосов
/ 03 октября 2019

Вам необходим псевдоним для подзапроса :

SELECT s1.*
FROM subpages s1 INNER JOIN
     (SELECT s2.*
      FROM subsubpages s2
     ) s2
-------^ this one here
     ON s1.subpage_id = s2.subpage_id
WHERE s1.page_id = 18;

Примечание. Ваш подзапрос совершенно не нужен. Я бы посоветовал вам удалить его.

1 голос
/ 03 октября 2019

Вы можете попробовать ниже - нужно добавить псевдоним для вас подзапрос

SELECT s1.* FROM subpages AS s1 
INNER JOIN 
(SELECT s2.* FROM subsubpages )AS s2
 ON s1.subpage_id = s2.subpage_id WHERE s1.page_id = 18;

Мне кажется, вам не нужна даже какая-либо производная таблица - просто вы можете следовать ниже -

SELECT s1.* FROM subpages AS s1 join subsubpages s2 
ON s1.subpage_id = s2.subpage_id WHERE s1.page_id = 18
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...