我有三个这样的 SQL 服务器表
我需要选择categories from LS_categoires where nodeid = 183
和选择select only 5 files from LS_files
与每个类别相关的
如果我有两个与结果相关的类别node 183
应该10 rows
是可能的吗?
我有三个这样的 SQL 服务器表
我需要选择categories from LS_categoires where nodeid = 183
和选择select only 5 files from LS_files
与每个类别相关的
如果我有两个与结果相关的类别node 183
应该10 rows
是可能的吗?
试试这个:
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;
这将为每个类别选择第一个文件。