1

我有三个这样的 SQL 服务器表在此处输入图像描述

我需要选择categories from LS_categoires where nodeid = 183和选择select only 5 files from LS_files与每个类别相关的

如果我有两个与结果相关的类别node 183应该10 rows 是可能的吗?

4

1 回答 1

0

试试这个:

  SELECT
  *  
FROM LS_Categories c 
INNER JOIN
( 
   SELECT 
     *, ROW_NUMBER() OVER(PARTITION BY catid
                          ORDER BY item_id ASC) rownum
   FROM LS_ItemTypes
) l  ON c.catid = l.catid
    AND l.rownum <= 5
INNER JOIN LS_Files f ON l.item_id = f.id
where c.nodeid = 183;

这将为每个类别选择第一个文件。

于 2013-01-21T13:18:26.000 回答