Нет, Oracle
не коррелирует подзапросы, вложенные более чем на один уровень глубины (как и MySQL
).
Это хорошо известная проблема.
Используйте это:
SELECT p.post_id, c.*
FROM posts
JOIN (
SELECT c.*, ROW_NUMBER() OVER (PARTITION BY post_id ORDER BY created_date ASC) AS rn
FROM comments c
) c
ON c.post_id = p.post_id
AND rn = 1
Вы были действительно, очень близки:
void calc(int x) {
std::for_each(v.begin(), v.end(),
boost::bind(&foo::func2, this, _1, x));
}
РЕДАКТИРОВАТЬ: ой, как и я.
Хотя, поразмыслив, в вашем первом рабочем примере нет ничего плохого. Вам действительно следует отдавать предпочтение свободным функциям, а не функциям-членам, где это возможно - вы можете увидеть повышенную простоту в вашей версии.