У меня есть запрос SQL, чтобы получить количество «понравилось» пользователю. Существуют две разные таблицы, одна таблица содержит разные пользовательские данные (а не количество понравившихся). В другой таблице хранятся похожие журналы, например, кто дал подобное, кто получает подобное, когда он понравился и т. Д. Я создаю список из десяти самых популярных пользователей.SQL - Использовать значение имени столбца в качестве параметра
Что мне интересно, если это возможно, чтобы использовать текущее значение столбца в качестве параметра, запрос запускаемых, например, так:
SELECT `username` FROM `users` ORDER BY (SELECT COUNT(*) FROM `likes` WHERE `liked_user`=?) LIMIT 10
Если знак вопроса будет заменен на что-то который представляет текущее значение username
(я полагаю, что SQL должен сделать какой-то цикл, чтобы получить его результаты)
Альтернатива У меня есть столбец в таблице пользователя, содержащий количество симпатичных, а затем сортировку на основе это, но мне было интересно, может ли запрос выполнять одну и ту же работу, просматривая похожие журналы.
Кажущаяся иметь проблему неоднозначности. Имена столбца, обозначающего, кто понравился пользователю в таблице like, и столбец, обозначающий имя пользователя в столбце пользователя, одинаковы. Поэтому во второй раз указывается «имя пользователя», он считает, что ему нужно значение из таблицы like, а не таблицы пользователя. – KILL3RTACO
Я обновил свой ответ. Вы можете использовать псевдонимы. – MarcinJuraszek
Отлично: D Это работает, спасибо. – KILL3RTACO