Вы, вероятно, можете использовать not exists
:
SELECT o.ord_table, o.ord.n_ord,
1 as confirm
FROM tbl_ord o
WHERE NOT EXISTS (SELECT 1
FROM tbl_players p
WHERE o.player_id = p.player_ids AND
?.id_shop = 3 AND -- not sure what table this comes from
p.confirm = 0
)
ORDER BY o.n_ord ASC;
Преимущество этого подхода состоит в том, что он избегает агрегирования на внешнем уровне. Это, в свою очередь, означает, что он может лучше использовать индексы, включая использование индекса, чтобы потенциально избежать сортировки.