2013-03-04 5 views
1


У меня есть 2 стола: Кошки (категория) и должность.
Я хочу ВЫБРАТЬ n сообщений для каждой категории.SELECT n row FROM table1 PER table2

Я попытался это:

SELECT * FROM cat 
RIGHT JOIN (SELECT * FROM post WHERE post.CatID=cat.ID LIMIT 3) ... 

Проблема заключается в MySQL не распознает cat.ID внутри подзапроса.

С уважением

+0

я должен отметить, что я не хочу 'выход LIMIT' к ** п **. Я хочу получить n строк ** для каждой категории **. Например, если u имеет 5 категорий, с 'LIMIT 3', ваш результат должен быть 15 записей. – SAMPro

ответ

1
SELECT a.ID, 
     a.Category, 
     b.Description 
FROM Category a 
     INNER JOIN Post b 
      ON a.ID = b.Cat_ID 
WHERE 
(
    SELECT COUNT(*) 
    FROM Post c 
    WHERE b.Cat_ID = c.Cat_ID AND 
      b.ID <= c.ID 
) <= 2 
+0

Отлично! Большое спасибо. Спасибо за SQLFiddle тоже. – SAMPro

+0

приветствую вас: D' рад, что это помогло. –

Смежные вопросы