То, что я пытаюсь сделать, это sub.blockid=id
с JOIN. Я переименовал blockid
в id
в подзапрос, но ключевое слово USING по-прежнему прикрепляет столбец id
вместо переименованного столбца (blockid) из таблицы подписки.Mysql USING переименовать столбец
$subscribequery = "JOIN (SELECT id as subid, blockid as id from subscribe WHERE userid='1') AS sub
USING (id)";
Это было бы легко с ON
, но у меня есть другие РЕГИСТРИРУЙТЕСЬ подзапросы с ИСПОЛЬЗОВАНИЕМ. Я получаю столбец неоднозначной ошибкой, если я пытаюсь использовать ON
вместо USING
вместе с другими подзапросами.
Можете ли вы использовать как USING
, так и ON
в том же запросе? Могу ли я переименовать столбец, как я попытался выше?
Вот полный запрос. Преступником является второй запрос JOIN.
SELECT * FROM products
JOIN (SELECT nid, sid, name AS max_name from products WHERE guideline='1' group by nid, sid) AS at1
USING (nid, sid)
JOIN (SELECT id as subid, blockid as id from subscribe WHERE userid='1') AS sub
USING (id)
WHERE id = subid AND name = max_name AND pending='0' AND deleted='0'
ORDER BY subid DESC, nid DESC;