|
|
|
| Надо получить последние 30 тем, в которых есть посты данного автора.
Трудность в том, что я не знаю как сделать чтобы темы не повторялись когда у данного автора несколько постов в одной теме. | |
|
|
|
|
|
|
|
для: Eugene77
(29.02.2008 в 14:59)
| | Select them From themes t, post p Where p.user_id=1 and p.them_id=t.them_id GROUP by them order by date Limit 0, 30
попробуйте так | |
|
|
|
|
|
|
|
для: UshkiNaMakushke
(29.02.2008 в 15:10)
| | SQL-запрос:
SELECT *
FROM book_work_themes t, book_work_posts p
WHERE p.id_author =1
AND p.id_theme = t.id
GROUP BY id_theme
ORDER BY time
LIMIT 0 , 30
Ответ MySQL:
#1052 - Column 'time' in order clause is ambiguous | |
|
|
|
|
|
|
|
для: Eugene77
(29.02.2008 в 16:28)
| | ... простите - вы бы структуру таблиц показали... | |
|
|
|
|
|
|
|
для: KirillKiev
(29.02.2008 в 16:36)
| | >... простите - вы бы структуру таблиц показали...
Так или иначе, таблица постов не обойдётся без номеров темм которым принадлежат посты, а остальные поля не имеют значения.
Словом, двухтабличный запрос - это излишество.
Вот как я упростил вашу идею:
SELECT `id_theme` FROM `posts`
WHERE `id_author`=1
GROUP BY `id_theme`
ORDER BY `time`
|
Просто у меня был пробел в образовании как раз на месте GROUP BY, вы его восполнили.
Спасибо! Всё просто. | |
|
|
|