Рабочий пример с одной таблицей
SELECT t.* FROM (
SELECT
TITLE.name,
(TITLE.value-TITLE.msp) AS Lower,
(TITLE.value+TITLE.msp) AS Upper,
(TITLE.value) AS Value
FROM TITLE
) t
WHERE 98 BETWEEN t.Lower AND t.Upper
ORDER BY ABS(98 - t.Value) ASC
LIMIT 5
Желаемый пример работы с 3 таблицами (Требуется исправление/помощь)
SELECT t.* FROM (
SELECT
TITLE.name, ALBUM.year, GENRE.Type
(TITLE.value-TITLE.msp) AS Lower,
(TITLE.value+TITLE.msp) AS Upper,
(TITLE.value) AS Value
FROM TITLE, ALBUM, GENRE
) t
WHERE ALBUM.ID=GENRE.ID AND TITLE.ID=ALBUM.ID
AND 98 BETWEEN t.Lower AND t.Upper
ORDER BY ABS(98 - t.Value) ASC;
У меня возникает следующая ошибка:
ОШИБКА 1054 (42S22): Unknown column 'ALBUM.ID' in 'where clause'