Мне нужно получить N записей таблицы X
, но мне нужно отфильтровать эти записи, используя INNER JOIN, и заранее упорядочить их по объединенным записям.
Пример того, что я пытался сделать(может быть не точным на 100%, так как я использую SQLAlchemy):
SELECT X.id
FROM X
INNER JOIN Y ON X.id = Y.other_id
WHERE Y.condition_one
ORDER BY Y.condition_two
LIMIT 10
FOR UPDATE OF X SKIP LOCKED;
Когда я делаю это, я получаю менее 10 различных id
с (возможно, потому что объединенные строки ограничены)однако я не могу выполнить DISTINCT
с FOR UPDATE
.Я думаю, что не могу использовать подзапрос из-за FOR UPDATE
.
Что мне делать?