Я пытаюсь написать запрос для базы данных MySQL
, которая сравнивает два кортежа в одном и том же отношении, которое генерируется естественным соединением.
База данных имеет отношения author и author_number, которые могут быть естественным образом объединены для создания отношения, которое показывает всех авторов, а также все их номера телефонов.
Я пытаюсь написать запрос, который возвращает только кортежи для авторов с одинаковым номером телефона.
Я написал запрос, который, как мне кажется, имеет правильную идею, но у меня естьсделал что-то не так, потому что я получаю синтаксическую ошибку при попытке его запустить.
Вот запрос, который у меня сейчас есть и который, я думал, будет работать:
SELECT A.first_name, A.last_name, A.pNumber
FROM (author NATURAL JOIN author_number AS A), (author NATURAL JOIN author_number AS B)
WHERE A.pNumber = B.pNumber;
Запрос даетошибка:
ERROR 1066 (42000) at line 60 in file: 'QueryLib.sql': Not unique table/alias: 'author'
Кроме того, мой исходный запрос не содержал A.first_name, etc.
в предложении SELECT
, он просто имел first_name, etc.
, но яполучил то же сообщение об ошибке.